diff --git a/.gitignore b/.gitignore
index 99b58d4b35cd..9ec00d3de5f0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,6 +44,10 @@ Icon
# Thumbnails
._*
+# Ignore repo files
+/scripts/stostools/restoredPackages
+/scripts/stostools/restoredpackages
+
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
@@ -100,3 +104,5 @@ AutoRest.*
output/*
errors.txt
warnings.txt
+
+/dist/
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index b2d65c0736b5..4d9c410fa6c6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,60 +1,27 @@
language: node_js
node_js:
- - '8'
+ - '10'
services:
- docker
env:
matrix:
- MODE=branchStrategy
- MODE=syntax CHECK_NAME="Syntax Validator"
- - MODE=python CHECK_NAME="SDK Generation - Python"
- - MODE=node CHECK_NAME="SDK Generation - Node"
- - MODE=typescript CHECK_NAME="SDK Generation - TypeScript"
- - MODE=ruby CHECK_NAME="SDK Generation - Ruby"
- - MODE=java CHECK_NAME="SDK Generation - Java"
- - MODE=go CHECK_NAME="SDK Generation - Go"
- MODE=semantic PR_ONLY=true CHECK_NAME="Semantic Validator"
- MODE=semantic PR_ONLY=false
- MODE=model PR_ONLY=true CHECK_NAME="Model Validator"
+ # - MODE=model PR_ONLY=false
- MODE=BreakingChange PR_ONLY=true CHECK_NAME="Breaking Changes"
- - MODE=lintdiff PR_ONLY=true CHECK_NAME="Linter Diff"
+ - MODE=lintdiff PR_ONLY=true CHECK_NAME="Linter Diff" NODE_OPTIONS=--max-old-space-size=8192
matrix:
fast_finish: true
allow_failures:
- - env: MODE=node CHECK_NAME="SDK Generation - Node"
- - env: MODE=typescript CHECK_NAME="SDK Generation - TypeScript"
- - env: MODE=ruby CHECK_NAME="SDK Generation - Ruby"
- - env: MODE=java CHECK_NAME="SDK Generation - Java"
- - env: MODE=go CHECK_NAME="SDK Generation - Go"
- env: MODE=semantic PR_ONLY=false
+ - env: MODE=model PR_ONLY=false
- env: MODE=model PR_ONLY=true CHECK_NAME="Model Validator"
- env: MODE=BreakingChange PR_ONLY=true CHECK_NAME="Breaking Changes"
install: true
script:
- - >-
- if [[ $MODE == 'python' ]]; then
- travis_wait 30 scripts/swagger-to-sdk.sh Azure/azure-sdk-for-python -v
- fi
- - >-
- if [[ $MODE == 'node' ]]; then
- travis_wait 30 scripts/swagger-to-sdk.sh Azure/azure-sdk-for-node -v
- fi
- - >-
- if [[ $MODE == 'typescript' ]]; then
- travis_wait 30 scripts/swagger-to-sdk.sh Azure/azure-sdk-for-js -v
- fi
- - >-
- if [[ $MODE == 'ruby' ]]; then
- travis_wait 30 scripts/swagger-to-sdk.sh Azure/azure-sdk-for-ruby -v
- fi
- - >-
- if [[ $MODE == 'go' ]]; then
- travis_wait 30 scripts/swagger-to-sdk.sh Azure/azure-sdk-for-go -o latest -v
- fi
- - >-
- if [[ $MODE == 'java' ]]; then
- travis_wait 30 scripts/swagger-to-sdk.sh Azure/azure-sdk-for-java -v
- fi
- >-
if [[ $MODE == 'branchStrategy' ]]; then
# Check to ensure CI is not executing for a PR against the master branch in the private repository
diff --git a/CODEOWNERS b/CODEOWNERS
index 802a9ad80a30..c6d2547a7ab9 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -14,7 +14,7 @@
/specification/consumption/ @kjeur @panda-wang
/specification/containerinstance/ @samkreter
/specification/containerregistry/ @djyou
-/specification/containerservices/ @mboersma
+/specification/containerservice/ @mboersma
/specification/cosmos-db/ @dmakwana
/specification/customer-insights/ @tjlvtao
/specification/datafactory/ @zhangyd2015
diff --git a/arm-compute/quickstart-templates/aliases.json b/arm-compute/quickstart-templates/aliases.json
index 2ee860c911c4..f5944d69cdbf 100644
--- a/arm-compute/quickstart-templates/aliases.json
+++ b/arm-compute/quickstart-templates/aliases.json
@@ -26,7 +26,7 @@
"Debian":{
"publisher":"credativ",
"offer":"Debian",
- "sku":"8",
+ "sku":"9",
"version":"latest"
},
"openSUSE-Leap": {
@@ -44,13 +44,13 @@
"SLES":{
"publisher":"SUSE",
"offer":"SLES",
- "sku":"12-SP2",
+ "sku":"15",
"version":"latest"
},
"UbuntuLTS":{
"publisher":"Canonical",
"offer":"UbuntuServer",
- "sku":"16.04-LTS",
+ "sku":"18.04-LTS",
"version":"latest"
}
},
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 000000000000..77397fbbbe07
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,112 @@
+name: "Azure OpenAPI"
+
+trigger: none
+
+variables:
+ TRAVIS: 'true'
+ TRAVIS_BRANCH: $(System.PullRequest.TargetBranch)
+ TRAVIS_PULL_REQUEST: $(System.PullRequest.PullRequestNumber)
+ TRAVIS_REPO_SLUG: $(Build.Repository.Name)
+ TRAVIS_PULL_REQUEST_SLUG: $(Build.Repository.Name)
+ TRAVIS_PULL_REQUEST_SHA: $(Build.SourceVersion)
+ PR_ONLY: 'true'
+
+jobs:
+
+- job: "Syntax"
+ pool:
+ vmImage: 'Ubuntu 16.04'
+ steps:
+ - script: |
+ echo TRAVIS: $(TRAVIS)
+ echo TRAVIS_BRANCH: $(TRAVIS_BRANCH)
+ echo TRAVIS_REPO_SLUG: $(TRAVIS_REPO_SLUG)
+ echo TRAVIS_PULL_REQUEST: $(TRAVIS_PULL_REQUEST)
+ echo TRAVIS_PULL_REQUEST_SLUG: $(TRAVIS_PULL_REQUEST_SLUG)
+ echo TRAVIS_PULL_REQUEST_SHA: $(TRAVIS_PULL_REQUEST_SHA)
+ echo PR_ONLY: $(PR_ONLY)
+ displayName: "Info"
+ - task: Npm@1
+ displayName: 'npm install'
+ inputs:
+ verbose: false
+ - script: 'npm test -- test/syntax.js'
+ displayName: 'Syntax validation'
+
+- job: "Semantic"
+ pool:
+ vmImage: 'Ubuntu 16.04'
+ steps:
+ - task: Npm@1
+ displayName: 'npm install'
+ inputs:
+ verbose: false
+ - script: 'node scripts/semanticValidation.js'
+ displayName: 'Semantic Validation'
+
+- job: "ModelValidation"
+ pool:
+ vmImage: 'Ubuntu 16.04'
+ steps:
+ - task: Npm@1
+ displayName: 'npm install'
+ inputs:
+ verbose: false
+ - script: 'node scripts/modelValidation.js'
+ displayName: 'Model Validation'
+
+- job: "BreakingChange"
+ pool:
+ vmImage: 'Ubuntu 16.04'
+ steps:
+ - script: 'scripts/install-dotnet.sh'
+ displayName: 'Insall .Net'
+ - task: Npm@1
+ displayName: 'npm install'
+ inputs:
+ verbose: false
+ - script: 'node scripts/breaking-change.js'
+ displayName: 'Breaking Changes'
+
+- job: "LintDiff"
+ variables:
+ NODE_OPTIONS: '--max-old-space-size=8192'
+ pool:
+ vmImage: 'Ubuntu 16.04'
+ steps:
+ - task: Npm@1
+ displayName: 'npm install'
+ inputs:
+ verbose: false
+ - script: 'scripts/install-dotnet.sh'
+ displayName: 'install .Net'
+ - script: 'node scripts/momentOfTruth.js && node scripts/momentOfTruthPostProcessing.js'
+ displayName: 'LintDiff'
+
+- job: "SDK"
+ timeoutInMinutes: 120
+ strategy:
+ matrix:
+ ruby:
+ AZURE_SDK_REPO: azure-sdk-for-ruby
+ AZURE_SDK_PARAMS: ''
+ java:
+ AZURE_SDK_REPO: azure-sdk-for-java
+ AZURE_SDK_PARAMS: ''
+ javascript:
+ AZURE_SDK_REPO: azure-sdk-for-js
+ AZURE_SDK_PARAMS: ''
+ node:
+ AZURE_SDK_REPO: azure-sdk-for-node
+ AZURE_SDK_PARAMS: ''
+ python:
+ AZURE_SDK_REPO: azure-sdk-for-python
+ AZURE_SDK_PARAMS: ''
+ go:
+ AZURE_SDK_REPO: azure-sdk-for-go
+ AZURE_SDK_PARAMS: '-o latest'
+ pool:
+ vmImage: 'Ubuntu 16.04'
+ steps:
+ - script: "scripts/swagger-to-sdk.sh Azure/$(AZURE_SDK_REPO) -v $(AZURE_SDK_PARAMS)"
+ displayName: "Swagger to SDK script"
diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md
index 00eeb7d8bd99..88ef6569942f 100644
--- a/documentation/openapi-authoring-automated-guidelines.md
+++ b/documentation/openapi-authoring-automated-guidelines.md
@@ -95,7 +95,7 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| Id | Rule Name | Applies to |
| --- | --- | --- |
-| [R4000](#r4000-2) | [ParameterDescriptionRequired](#r4000-2) | ARM and Data plane OpenAPI(swagger) specs |
+| [R4000](#r4000) | [ParameterDescriptionRequired](#r4000) | ARM and Data plane OpenAPI(swagger) specs |
| [R4000](#r4000-3) | [DescriptiveDescriptionRequired](#r4000-3) | ARM and Data plane OpenAPI(swagger) specs |
| [R4000](#r4000-4) | [DescriptionAndTitleMissing](#r4000-4) | ARM and Data plane OpenAPI(swagger) specs |
| [R4000](#r4000-5) | [OperationDescriptionOrSummaryRequired](#r4000-5) | ARM and Data plane OpenAPI(swagger) specs |
@@ -1662,7 +1662,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
-### R4000 ParameterDescriptionRequired
+### R4000 ParameterDescriptionRequired
**Category** : SDK Warning
**Applies to** : ARM and Data plane OpenAPI(swagger) specs
diff --git a/package.json b/package.json
index 8d7a15738c6d..0b20617cdb24 100644
--- a/package.json
+++ b/package.json
@@ -13,17 +13,21 @@
"@microsoft.azure/async-io": "^1.0.21",
"@microsoft.azure/literate": "^1.0.21",
"@microsoft.azure/polyfill": "^1.0.17",
- "@ts-common/local-install": "^0.0.8",
+ "@ts-common/commonmark-to-markdown": "^1.1.10",
+ "@ts-common/fs": "0.1.0",
+ "@types/js-yaml": "^3.12.0",
"fs-extra": "^3.0.1",
"glob": "^5.0.14",
- "js-yaml": "^3.8.2",
+ "js-yaml": "^3.12.2",
"json-schema-ref-parser": "^3.1.2",
"mocha": "*",
- "oad": "^0.1.11",
- "oav": "^0.9.6",
+ "@azure/oad": "0.2.0",
+ "oav": "^0.14.5",
"request": "^2.61.0",
"request-promise-native": "^1.0.5",
- "z-schema": "^3.24.2"
+ "typescript": "^3.2.4",
+ "z-schema": "^3.25.1",
+ "ts-node": "^8.0.3"
},
"dependencies": {
"@octokit/rest": "^15.2.6"
@@ -39,6 +43,7 @@
"scripts": {
"test": "mocha -t 500000 --reporter min",
"oav": "oav",
- "li": "local-install"
+ "tsc": "tsc",
+ "multiapi": "ts-node ./scripts/multiapi.ts"
}
}
diff --git a/profile/2019-03-01-hybrid.json b/profile/2019-03-01-hybrid.json
new file mode 100644
index 000000000000..b23300a1e69c
--- /dev/null
+++ b/profile/2019-03-01-hybrid.json
@@ -0,0 +1,192 @@
+{
+ "info": {
+ "name": "2019-03-01-hybrid",
+ "description": "Profile definition targeted for hybrid applications that could run on azure stack general availability version and azure cloud for 1903."
+ },
+ "resource-manager": {
+ "microsoft.authorization": {
+ "2016-09-01": [
+ "locks"
+ ],
+ "2016-12-01": [
+ "policyDefinitions",
+ "policyAssignments"
+ ],
+ "2015-07-01": [
+ "operations",
+ "permissions",
+ "roleAssignments",
+ "roleDefinitions",
+ "providerOperations"
+ ]
+ },
+ "microsoft.compute": {
+ "2017-12-01": [
+ "availabilitySets",
+ "images",
+ "locations",
+ "locations/publishers",
+ "locations/operations",
+ "locations/usages",
+ "locations/vmSizes",
+ "operations",
+ "virtualMachines",
+ "virtualMachines/extensions",
+ "virtualMachineScaleSets",
+ "virtualMachineScaleSets/extensions",
+ "virtualmachineScaleSets/networkInterfaces",
+ "virtualMachineScaleSets/virtualMachines",
+ "virtualMachineScaleSets/virtualMachines/networkInterfaces"
+ ],
+ "2017-03-30": [
+ "disks",
+ "locations/diskoperations",
+ "snapshots"
+ ]
+ },
+ "microsoft.eventhub": {
+ "2018-01-01-preview": [
+ "namespaces",
+ "checkNameAvailability",
+ "sku",
+ "operations"
+ ],
+ "2015-08-01": [
+ "checkNamespaceAvailability"
+ ]
+ },
+ "microsoft.insights": {
+ "2018-01-01": [
+ "metricDefinitions",
+ "metrics"
+ ],
+ "2017-05-01-preview": [
+ "diagnosticSettings",
+ "diagnosticSettingCategories"
+ ],
+ "2015-04-01": [
+ "eventTypes",
+ "eventCategories",
+ "operations"
+ ]
+ },
+ "microsoft.keyvault": {
+ "2016-10-01": [
+ "operations",
+ "vaults",
+ "vaults/accessPolicies",
+ "vaults/secrets"
+ ]
+ },
+ "microsoft.network": {
+ "2017-10-01": [
+ "connections",
+ "loadBalancers",
+ "localNetworkGateways",
+ "locations",
+ "locations/operationResults",
+ "locations/operations",
+ "locations/usages",
+ "networkInterfaces",
+ "networkSecurityGroups",
+ "operations",
+ "publicIpAddresses",
+ "routeTables",
+ "virtualNetworkGateways",
+ "virtualNetworks"
+ ],
+ "2016-04-01": [
+ "dnsZones"
+ ]
+ },
+ "microsoft.resources": {
+ "2018-05-01": [
+ "deployments",
+ "deployments/operations",
+ "links",
+ "locations",
+ "operations",
+ "providers",
+ "resourceGroups",
+ "resources",
+ "subscriptions",
+ "subscriptions/locations",
+ "subscriptions/operationresults",
+ "subscriptions/providers",
+ "subscriptions/resourceGroups",
+ "subscriptions/resourceGroups/resources",
+ "subscriptions/resources",
+ "subscriptions/tagNames",
+ "subscriptions/tagNames/tagValues",
+ "tenants"
+ ]
+ },
+ "microsoft.storage": {
+ "2017-10-01": [
+ "checkNameAvailability",
+ "locations",
+ "locations/quotas",
+ "operations",
+ "storageAccounts",
+ "storageAccounts/blobServices",
+ "storageAccounts/queueServices",
+ "storageAccounts/tableServices",
+ "usages"
+ ]
+ },
+ "microsoft.web": {
+ "2018-02-01": [
+ "certificates",
+ "operations",
+ "checknameavailability",
+ "sites",
+ "sites/domainOwnershipIdentifiers",
+ "sites/extensions",
+ "sites/hostNameBindings",
+ "sites/instances",
+ "sites/instances/extensions",
+ "sites/slots",
+ "sites/slots/hostNameBindings",
+ "sites/slots/instances",
+ "sites/slots/instances/extensions",
+ "serverFarms"
+ ],
+ "2016-09-01": [
+ "serverFarms/metricDefinitions",
+ "serverFarms/metrics",
+ "serverFarms/usages"
+ ],
+ "2016-08-01": [
+ "metadata",
+ "sites/extensions",
+ "sites/metricDefinitions",
+ "sites/metrics",
+ "sites/recommendations",
+ "sites/slots/extensions",
+ "sites/slots/metricDefinitions",
+ "sites/slots/metrics"
+ ],
+ "2016-03-01": [
+ "availableStacks",
+ "deploymentLocations",
+ "georegions",
+ "ishostnameavailable",
+ "isusernameavailable",
+ "listSitesAssignedToHostName",
+ "publishingUsers",
+ "recommendations",
+ "runtimes",
+ "sourceControls",
+ "validate"
+ ]
+ }
+ },
+ "data-plane": {
+ "microsoft.keyvault": {
+ "2016-10-01": []
+ },
+ "microsoft.storage": {
+ "2017-04-17": []
+ }
+ }
+}
diff --git a/scripts/breaking-change.js b/scripts/breaking-change.js
index e6f9ff6b161d..08fea52dfa30 100644
--- a/scripts/breaking-change.js
+++ b/scripts/breaking-change.js
@@ -7,7 +7,7 @@ const utils = require('../test/util/utils'),
fs = require('fs-extra'),
os = require('os'),
exec = require('util').promisify(require('child_process').exec),
- oad = require('oad');
+ oad = require('@azure/oad');
// This map is used to store the mapping between files resolved and stored location
var resolvedMapForNewSpecs = {};
diff --git a/scripts/getStatus.js b/scripts/getStatus.js
deleted file mode 100644
index ba5d9212aedb..000000000000
--- a/scripts/getStatus.js
+++ /dev/null
@@ -1,135 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See License in the project root for license information.
-
-'use strict';
-var exec = require('child_process').exec,
- path = require('path'),
- fs = require('fs'),
- glob = require('glob'),
- oav = require('oav'),
- utils = require("../test/util/utils");
-
-var swaggersToProcess = utils.swaggers;
-var readmesToProcess = utils.readmes;
-var finalResult = {};
-var filename = `log_${utils.getTimeStamp()}.log`;
-var logFilepath = path.join(getLogDir(), filename);
-
-function updateResult(spec, errors, updateLog) {
- if (!finalResult[spec]) {
- finalResult[spec] = errors;
- } else {
- finalResult[spec] = finalResult[spec].concat(errors);
- }
- if (updateLog) {
- writeContent(JSON.stringify(finalResult, null, 2));
- }
-}
-
-function getLogDir() {
- let logDir = path.join(__dirname, '../', 'output');
- if (!fs.existsSync(logDir)) {
- try {
- fs.mkdirSync(logDir);
- } catch (e) {
- if (e.code !== 'EEXIST') throw e;
- }
- }
- return logDir;
-}
-
-//creates the log file if it has not been created
-function createLogFile() {
- if (!fs.existsSync(logFilepath)) {
- fs.writeFileSync(logFilepath, '');
- }
-}
-
-//appends the content to the log file
-function writeContent(content) {
- fs.writeFileSync(logFilepath, content);
-}
-
-//runs the command on a given swagger spec.
-async function runCmd(cmd) {
- console.log(cmd);
- 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 resultObject = [];
- let resultString = stdout + stderr;
- //console.log('>>>> Actual result...');
- //console.log(resultString);
- if (resultString.indexOf('{') !== -1) {
- resultString = "[" + resultString.substring(resultString.indexOf('{')).trim().replace(/\}\n\{/g, "},\n{") + "]";
- //console.log('>>>>>> Trimmed Result...');
- //console.log(resultString);
- try {
- resultObject = JSON.parse(resultString);
- //console.log('>>>>>> Parsed Result...');
- //console.dir(resultObject, {depth: null, colors: true});
- } catch (e) {
- console.log(`An error occurred while executing JSON.parse() on the output for ${cmd}:`);
- console.dir(resultString);
- console.dir(e, { depth: null, colors: true });
- }
- }
- return resultObject;
-}
-
-//runs the semantic validator on a given swagger spec.
-function runSemanticValidator(swagger) {
- return oav.validateSpec(swagger, {consoleLogLevel: 'off'}).then(function (validationResult) {
- //console.dir(validationResult, { depth: null, colors: true });
- return validationResult.validateSpec.errors;
- }).catch(function (err) {
- console.dir(err, { depth: null, colors: true });
- });
-}
-
-//main function
-async function runScript() {
- // Useful when debugging a test for a particular swagger.
- // Just update the regex. That will return an array of filtered items.
- // swaggersToProcess = swaggersToProcess.filter(function (item) {
- // return (item.match(/.*Microsoft.network/ig) !== null);
- // });
- // readmesToProcess = readmesToProcess.filter(function (item) {
- // return (item.match(/.*.network/ig) !== null);
- // });
- createLogFile();
- console.log(`The results will be logged here: "${logFilepath}".`);
-
- console.log('\t- Running Semantic Validator.')
- for (let swagger of swaggersToProcess) {
- const validationErrors = await runSemanticValidator(swagger);
- swagger = swagger.split(/\/Microsoft\./gi)[0] + "/readme.md";
- console.log(`File Name: "${swagger}"`);
- if (validationErrors != null)
- {
- updateResult(swagger, validationErrors, true);
- }
- }
-
- console.log(`\t- Running Linter.`);
- for (let readme of readmesToProcess) {
- console.log(`Linter Validation on configuration file: "${readme}"`);
- let linterCmd = 'autorest ' + readme + ' --azure-validator=true --validation --message-format=json';
- const linterErrors = await runCmd(linterCmd);
- updateResult(readme, linterErrors, true);
- }
-
- console.log(`\t- Running Model Validator.`);
- //model validator run
- for (let readme of readmesToProcess) {
- console.log(`Model Validation on configuration file: "${readme}"`);
- let modelValCmd = 'autorest --version=2.0.4174 --model-validator --message-format=json ' + readme;
- const modelValErrors = await runCmd(modelValCmd);
- updateResult(readme, modelValErrors, true);
- }
-
- //console.dir(finalResult, { depth: null, colors: true });
- return finalResult;
-}
-
-//magic starts here
-runScript();
diff --git a/scripts/modelValidation.js b/scripts/modelValidation.js
index 7cc0dc62611d..a2b0d89fa624 100644
--- a/scripts/modelValidation.js
+++ b/scripts/modelValidation.js
@@ -3,18 +3,38 @@
'use strict';
const utils = require('../test/util/utils')
-const oav = require('oav');
+const cp = require("child_process")
+
+const exec = (cmd, options) => {
+ const result = cp.spawnSync(
+ cmd,
+ {
+ ...options,
+ shell: true,
+ stdio: [process.stdin, process.stdout, process.stderr]
+ }
+ )
+ return result.status
+}
async function main() {
const swaggersToProcess = utils.getFilesChangedInPR();
- // Useful when debugging a test for a particular swagger.
- // Just update the regex. That will return an array of filtered items.
- // swaggersToProcess = swaggersToProcess.filter(function(item) {
- // return (item.match(/.*Microsoft.Logic.*2016-06-01.*/ig) !== null);
- // });
+ let result = 0
for (const swagger of swaggersToProcess) {
- await oav.validateExamples(swagger, null, {consoleLogLevel: 'error', pretty: true});
+ try {
+ // await oav.validateExamples(swagger, null, {consoleLogLevel: 'error', pretty: true});
+ // run OAV as a separate process to avoid memory issues.
+ const r = exec(`node node_modules/oav/dist/cli.js validate-example ${swagger} --pretty`)
+ if (result === 0) {
+ result = r
+ }
+ } catch (e) {
+ console.error("error: ")
+ console.error(e)
+ result = 1
+ }
}
+ return result
}
-main()
\ No newline at end of file
+main()
diff --git a/scripts/momentOfTruth.js b/scripts/momentOfTruth.js
index c193f883aa9a..754e26a9e38e 100644
--- a/scripts/momentOfTruth.js
+++ b/scripts/momentOfTruth.js
@@ -10,7 +10,7 @@ const exec = require('child_process').exec,
let configsToProcess = utils.getConfigFilesChangedInPR();
let pullRequestNumber = utils.getPullRequestNumber();
-let linterCmd = `npx autorest@2.0.4152 --validation --azure-validator --message-format=json `;
+let linterCmd = `npx autorest --validation --azure-validator --message-format=json `;
var filename = `${pullRequestNumber}.json`;
var logFilepath = path.join(getLogDir(), filename);
var finalResult = {};
@@ -59,13 +59,14 @@ async function getLinterResult(swaggerPath) {
(err, stdout, stderr) => res({ err: err, stdout: stdout, stderr: stderr })));
if (err && stderr.indexOf("Process() cancelled due to exception") !== -1) {
- console.log(`AutoRest exited with code ${err.code}`);
- console.log(stderr);
+ console.error(`AutoRest exited with code ${err.code}`);
+ console.error(stderr);
throw new Error("AutoRest failed");
}
let resultString = stdout + stderr;
if (resultString.indexOf('{') !== -1) {
+ resultString = resultString.replace(/Processing batch task - {.*} \.\n/g, "");
resultString = "[" + resultString.substring(resultString.indexOf('{')).trim().replace(/\}\n\{/g, "},\n{") + "]";
//console.log('>>>>>> Trimmed Result...');
//console.log(resultString);
@@ -75,9 +76,10 @@ async function getLinterResult(swaggerPath) {
//console.dir(resultObject, {depth: null, colors: true});
return jsonResult;
} catch (e) {
- console.log(`An error occurred while executing JSON.parse() on the linter output for ${swaggerPath}:`);
+ console.error(`An error occurred while executing JSON.parse() on the linter output for ${swaggerPath}:`);
console.dir(resultString);
console.dir(e, { depth: null, colors: true });
+ process.exit(1)
}
}
return [];
@@ -87,7 +89,7 @@ async function getLinterResult(swaggerPath) {
async function runTools(swagger, beforeOrAfter) {
console.log(`Processing "${swagger}":`);
const linterErrors = await getLinterResult(swagger);
- console.log(`Linter produced ${linterErrors.length} results`);
+ console.log(linterErrors);
await updateResult(swagger, linterErrors, beforeOrAfter);
};
diff --git a/scripts/momentOfTruthPostProcessing.js b/scripts/momentOfTruthPostProcessing.js
index e838c8e683aa..0ebada4bc33f 100644
--- a/scripts/momentOfTruthPostProcessing.js
+++ b/scripts/momentOfTruthPostProcessing.js
@@ -63,6 +63,7 @@ try {
console.log(`Failed to read diff results from file ${logFilepath}`);
console.log("File content:");
console.log(data);
+ process.exit(1)
}
function compareJsonRef(beforeJsonRef, afterJsonRef) {
diff --git a/scripts/multiapi.ts b/scripts/multiapi.ts
new file mode 100644
index 000000000000..c7508904f776
--- /dev/null
+++ b/scripts/multiapi.ts
@@ -0,0 +1,66 @@
+import * as fs from "@ts-common/fs"
+import * as process from "process"
+import * as path from "path"
+import * as cm from "@ts-common/commonmark-to-markdown"
+import * as it from "@ts-common/iterator"
+import * as yaml from "js-yaml"
+
+type Code = {
+ readonly "input-file"?: ReadonlyArray|string
+}
+
+const main = async (dir: string) => {
+ try {
+ const list = fs.recursiveReaddir(dir)
+ for await (const file of list) {
+ const f = path.parse(file)
+ if (f.base === "readme.md") {
+ console.log(`processing ${file}`)
+ const content = (await fs.readFile(file)).toString()
+ const readMe = cm.parse(content)
+ const set = new Set()
+ for (const c of cm.iterate(readMe.markDown)) {
+ if (
+ c.type === "code_block" &&
+ c.info !== null &&
+ c.info.startsWith("yaml") &&
+ c.literal !== null
+ ) {
+ const y = (yaml.load(c.literal) as Code)["input-file"]
+ if (typeof y === "string") {
+ set.add(y)
+ } else if (it.isArray(y)) {
+ for (const i of y) {
+ set.add(i)
+ }
+ }
+ }
+ }
+ const readMeMulti = cm.createNode(
+ "document",
+ cm.createNode(
+ "heading",
+ cm.createText("Multi-API support for AutoRest v3 generators")
+ ),
+ cm.createNode(
+ "block_quote",
+ cm.createNode(
+ "paragraph",
+ cm.createText("see https://aka.ms/autorest")
+ )
+ ),
+ cm.createCodeBlock(
+ "yaml $(enable-multi-api)",
+ yaml.dump({ "input-file": it.toArray(set) }, { lineWidth: 1000 })
+ )
+ )
+ const x = cm.markDownExToString({ markDown: readMeMulti })
+ fs.writeFile(path.join(f.dir, "readme.enable-multi-api.md"), x)
+ }
+ }
+ } catch (e) {
+ console.error(e)
+ }
+}
+
+main(path.join(process.cwd(), "specification"))
diff --git a/scripts/stostools/Directory.Build.props b/scripts/stostools/Directory.Build.props
new file mode 100644
index 000000000000..72ce43bc9d3e
--- /dev/null
+++ b/scripts/stostools/Directory.Build.props
@@ -0,0 +1,132 @@
+
+
+ $(MSBuildThisFileDirectory)
+ .\
+ $([System.IO.Path]::GetFullPath($(CurrentDir)).Trim('\'))
+
+
+ $(RepoRootAbspath)
+ $(RepoRoot)\src
+ $(RepoRoot)\tools
+ $(RepoRoot)\eng
+ $(RepoToolsDir)\LocalNugetFeed
+ $(RepoEngDir)\alias
+ $(RepoToolsDir)\NugetExe
+ $(RepoSrcDir)\NugetToolsPackage
+ $(RepoRoot)\restoredPackages
+
+
+
+ false
+
+
+
+ $(RepoSrcDir)\CI
+ $(RepoCISrcDir)\CI.Common
+ $(RepoCISrcDir)\CI.BuildTasks
+ $(NugPkgSrcDir)\CI.Tools.Package
+ $(CINugPkgSrcDir)\build\tasks
+ $(CIBuildOutputDir)\netstandard2.0
+
+
+
+ $(RepoSrcDir)\SwaggerToSdk
+ $(RepoSToSSrcDir)\Common\SToS.Common
+ $(RepoSToSSrcDir)\BuildTasks\SToS.BuildTasks
+ $(NugPkgSrcDir)\SwaggerToSdk.Tools.Package
+ $(SToSNugPkgSrcRootDir)\build
+ $(SToSNugPkgSrcDir)\Sdk
+ $(SToSNugPkgSrcDir)\tasks
+ $(SToSBuildOutputDir)\netstandard2.0
+ $(SToSBuildOutputDir)\net461
+
+
+
+ Debug
+ AnyCPU
+
+
+
+
+ $(MSBuildRuntimeType)
+ netstandard2.0
+ net461
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ true
+ false
+
+
+
+
+ currentUser.props
+ $(LocalDevUserBootstrapDirPath)\$(DefaultCurrentUserPropsFileName)
+ $(RepoDeveloperDir)\$(UserName)\$(DefaultCurrentUserPropsFileName)
+
+
+
+
+ $(UserName)
+ $(LocalDevUser).bootStrap.targets
+ $(RepoDeveloperDir)\$(LocalDevUser)\$(DefaultCurrentUserPropsFileName)
+
+
+
+ $(RepoDeveloperDir)\$(LocalDevUser)
+ $(LocalDevUserTargetsDir)\$(DefaultCurrentuserTargetsFileName)
+ $(LocalDevUserBootstrapDirPath)\currentUser.props
+
+ $(SToSNugPkgSdkDir)\SToS.props
+
+
+
+
+
+ true
+ true
+ true
+ false
+ false
+
+
\ No newline at end of file
diff --git a/scripts/stostools/LaunchSToS.bat b/scripts/stostools/LaunchSToS.bat
new file mode 100644
index 000000000000..27b6263a8a05
--- /dev/null
+++ b/scripts/stostools/LaunchSToS.bat
@@ -0,0 +1,31 @@
+@echo OFF
+
+set StartupProj=%1
+set PrNumber=%2
+set LastGithubCommitId=%3
+set GitHubUrl=%4
+set TriggerComment=%5
+set DebugMode=%6
+set LogVerbosity=%7
+
+if "%VSWHERE%"=="" set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
+
+for /f "usebackq tokens=*" %%i in (`"%VSWHERE%" -latest -products * -requires Microsoft.Component.MSBuild -property installationPath`) do (
+ set InstallDir=%%i
+)
+
+CALL "%InstallDir%\Common7\Tools\VsDevCmd.bat"
+
+echo StartupProj: %StartupProj%
+echo Pr#: %PrNumber%
+echo Last Commit Id: %LastGithubCommitId%
+echo GitHub Url: %GitHubUrl%
+echo Trigger Comment: %TriggerComment%
+echo DebugMode: %DebugMode%
+echo Log Verbosity: %LogVerbosity%
+
+dotnet msbuild %startupProj% /t:StartNetSdkCodeGeneration /v:%LogVerbosity% /p:githubprnumber=%PrNumber% /p:githubcommitid=%LastGithubCommitId% /p:giturl=%GitHubUrl% /p:DebugMode=%DebugMode% /p:triggercomment=%TriggerComment%
+
+REM dotnet msbuild stos.proj /t:StartNetSdkCodeGeneration /v:N /p:githubprnumber=63 /p:githubcommitid=b5ee45302838515adc14857ed45c44ed99a1e517 /p:giturl=https://github.com/Azure/AzSwaggerSpecsTestClone /p:DebugMode=false /p:triggercomment=startbuild
+REM LaunchSToS.bat stos.proj 63 b5ee45302838515adc14857ed45c44ed99a1e517 https://github.com/Azure/AzSwaggerSpecsTestClone startbuild false D
+REM stostools\LaunchSToS.bat SToS.proj %ghprbPullId% %ghprbActualCommit% %GIT_URL% %ghprbCommentBody% false n
diff --git a/scripts/stostools/nuget.config b/scripts/stostools/nuget.config
new file mode 100644
index 000000000000..f475a9c957d1
--- /dev/null
+++ b/scripts/stostools/nuget.config
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scripts/stostools/stos.proj b/scripts/stostools/stos.proj
new file mode 100644
index 000000000000..ef96abcd6920
--- /dev/null
+++ b/scripts/stostools/stos.proj
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+ $(MSBuildRuntimeType)
+ netstandard2.0
+ net461
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scripts/swagger-to-sdk.sh b/scripts/swagger-to-sdk.sh
index ef8923dbe856..663c223bd6f3 100755
--- a/scripts/swagger-to-sdk.sh
+++ b/scripts/swagger-to-sdk.sh
@@ -1,5 +1,5 @@
#!/bin/sh
python -c "import os; print('\n'.join(v for v in os.environ.keys() if v.startswith('TRAVIS')))" > /tmp/env_file
-docker pull lmazuel/swagger-to-sdk
-docker run --rm --env-file /tmp/env_file -e GH_TOKEN -v $PWD:/git-restapi/ lmazuel/swagger-to-sdk "$@"
\ No newline at end of file
+docker pull azuresdk/swagger-to-sdk
+docker run --rm --env-file /tmp/env_file -e GH_TOKEN -v $PWD:/git-restapi/ azuresdk/swagger-to-sdk "$@"
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json
new file mode 100644
index 000000000000..7ba91a769693
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json
@@ -0,0 +1,577 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Enterprise Knowledge Graph Service",
+ "description": "Azure Enterprise Knowledge Graph Service is a platform for creating knowledge graphs at scale.",
+ "version": "2018-12-03"
+ },
+ "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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EnterpriseKnowledgeGraph/services/{resourceName}": {
+ "put": {
+ "tags": [
+ "EnterpriseKnowledgeGraph"
+ ],
+ "description": "Creates a EnterpriseKnowledgeGraph Service. EnterpriseKnowledgeGraph Service is a resource group wide resource type.",
+ "operationId": "EnterpriseKnowledgeGraph_Create",
+ "x-ms-examples": {
+ "Create EnterpriseKnowledgeGraph": {
+ "$ref": "./examples/CreateEnterpriseKnowledgeGraph.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraph"
+ },
+ "description": "The parameters to provide for the created EnterpriseKnowledgeGraph."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraph"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Creating). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraph"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "EnterpriseKnowledgeGraph"
+ ],
+ "description": "Updates a EnterpriseKnowledgeGraph Service",
+ "operationId": "EnterpriseKnowledgeGraph_Update",
+ "x-ms-examples": {
+ "Update EnterpriseKnowledgeGraph": {
+ "$ref": "./examples/UpdateEnterpriseKnowledgeGraph.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraph"
+ },
+ "description": "The parameters to provide for the created EnterpriseKnowledgeGraph."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraph"
+ }
+ },
+ "201": {
+ "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraph"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EnterpriseKnowledgeGraph"
+ ],
+ "description": "Deletes a EnterpriseKnowledgeGraph Service from the resource group. ",
+ "operationId": "EnterpriseKnowledgeGraph_Delete",
+ "x-ms-examples": {
+ "Delete EnterpriseKnowledgeGraph": {
+ "$ref": "./examples/DeleteEnterpriseKnowledgeGraph.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
+ },
+ "204": {
+ "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EnterpriseKnowledgeGraph"
+ ],
+ "description": "Returns a EnterpriseKnowledgeGraph service specified by the parameters.",
+ "operationId": "EnterpriseKnowledgeGraph_Get",
+ "x-ms-examples": {
+ "Get EnterpriseKnowledgeGraph": {
+ "$ref": "./examples/GetEnterpriseKnowledgeGraph.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraph"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EnterpriseKnowledgeGraph/services": {
+ "get": {
+ "tags": [
+ "EnterpriseKnowledgeGraph"
+ ],
+ "description": "Returns all the resources of a particular type belonging to a resource group",
+ "operationId": "EnterpriseKnowledgeGraph_ListByResourceGroup",
+ "x-ms-examples": {
+ "List EnterpriseKnowledgeGraph by Resource Group": {
+ "$ref": "./examples/ListEnterpriseKnowledgeGraphByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraphResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EnterpriseKnowledgeGraph/services": {
+ "get": {
+ "tags": [
+ "EnterpriseKnowledgeGraph"
+ ],
+ "description": "Returns all the resources of a particular type belonging to a subscription.",
+ "operationId": "EnterpriseKnowledgeGraph_List",
+ "x-ms-examples": {
+ "List EnterpriseKnowledgeGraph by Subscription": {
+ "$ref": "./examples/ListEnterpriseKnowledgeGraphBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ",
+ "schema": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraphResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.EnterpriseKnowledgeGraph/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all the available EnterpriseKnowledgeGraph services operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "Azure resource",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "Specifies the resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Specifies the name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Specifies the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Specifies the location of the resource.",
+ "type": "string"
+ },
+ "tags": {
+ "description": "Contains resource tags defined as key/value pairs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Gets or sets the SKU of the resource."
+ }
+ }
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/SkuName",
+ "description": "The sku name"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "The SKU of the EnterpriseKnowledgeGraph service account."
+ },
+ "SkuName": {
+ "type": "string",
+ "description": "The name of SKU.",
+ "enum": [
+ "F0",
+ "S1"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "EnterpriseKnowledgeGraph": {
+ "description": "EnterpriseKnowledgeGraph resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraphProperties",
+ "description": "The set of properties specific to EnterpriseKnowledgeGraph resource"
+ }
+ }
+ },
+ "EnterpriseKnowledgeGraphProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "The description of the EnterpriseKnowledgeGraph"
+ },
+ "metadata": {
+ "description": "Specifies the metadata of the resource.",
+ "type": "object"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The state of EnterpriseKnowledgeGraph provisioning",
+ "enum": [
+ "Creating",
+ "Deleting",
+ "Failed",
+ "Succeeded"
+ ]
+ }
+ },
+ "description": "The parameters to provide for the EnterpriseKnowledgeGraph."
+ },
+ "EnterpriseKnowledgeGraphResponseList": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of EnterpriseKnowledgeGraph service resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnterpriseKnowledgeGraph"
+ },
+ "description": "Gets the list of EnterpriseKnowledgeGraph service results and their properties."
+ }
+ },
+ "description": "The list of EnterpriseKnowledgeGraph service operation response."
+ },
+ "Error": {
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorBody",
+ "description": "The error body."
+ }
+ },
+ "description": "EnterpriseKnowledgeGraph Service error object."
+ },
+ "ErrorBody": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "error message"
+ }
+ },
+ "description": "EnterpriseKnowledgeGraph Service error body.",
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "OperationEntityListResult": {
+ "description": "The list of EnterpriseKnowledgeGraph service operation response.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "The operations supported by EnterpriseKnowledgeGraph Service Management.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The operation supported by EnterpriseKnowledgeGraph Service Management."
+ },
+ "origin": {
+ "description": "The origin of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Additional properties.",
+ "type": "object"
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The operation supported by EnterpriseKnowledgeGraph Service Management.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Service provider: Microsoft EnterpriseKnowledgeGraph Service.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the EnterpriseKnowledgeGraph resource group in the user subscription."
+ },
+ "resourceNameParameter": {
+ "name": "resourceName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the EnterpriseKnowledgeGraph resource."
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/CreateEnterpriseKnowledgeGraph.json b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/CreateEnterpriseKnowledgeGraph.json
new file mode 100644
index 000000000000..d3c48e088cc5
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/CreateEnterpriseKnowledgeGraph.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2018-12-03",
+ "resourceName": "sampleekgname",
+ "parameters": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "name": "samplename",
+ "type": "sampletype",
+ "id": "someid",
+ "properties": {
+ "provisioningState": "Accepted"
+ }
+ }
+ }
+}
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/DeleteEnterpriseKnowledgeGraph.json b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/DeleteEnterpriseKnowledgeGraph.json
new file mode 100644
index 000000000000..f5324a2437b2
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/DeleteEnterpriseKnowledgeGraph.json
@@ -0,0 +1,22 @@
+{
+
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2018-12-03",
+ "resourceName": "sampleekgname"
+ },
+
+ "responses": {
+
+ "200": {
+
+ },
+
+ "204": {
+
+ }
+
+ }
+
+}
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/GetEnterpriseKnowledgeGraph.json b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/GetEnterpriseKnowledgeGraph.json
new file mode 100644
index 000000000000..f2f838c2b0ed
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/GetEnterpriseKnowledgeGraph.json
@@ -0,0 +1,30 @@
+{
+
+ "parameters": {
+
+ "subscriptionId": "subscription-id",
+
+ "resourceGroupName": "OneResourceGroupName",
+
+ "api-version": "2018-12-03",
+
+ "resourceName": "sampleekgname"
+
+ },
+
+ "responses": {
+
+ "200": {
+
+ "name": "samplename",
+
+ "type": "sampletype",
+
+ "id": "someid",
+
+ "properties": {
+ "provisioningState": "Succeedded"
+ }
+ }
+ }
+}
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/GetOperations.json b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/GetOperations.json
new file mode 100644
index 000000000000..0f8d2c7fa27c
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/GetOperations.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2018-12-03"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.EnterpriseKnowledgeGraph/services/read",
+ "display": {
+ "provider": "Microsoft EnterpriseKnowledgeGraph Service",
+ "resource": "EnterpriseKnowledgeGraph Service",
+ "operation": "Read EnterpriseKnowledgeGraph resource",
+ "description": "Read EnterpriseKnowledgeGraph resources"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.EnterpriseKnowledgeGraph/services/write",
+ "display": {
+ "provider": "Microsoft EnterpriseKnowledgeGraph Service",
+ "resource": "EnterpriseKnowledgeGraph Service",
+ "operation": "Write EnterpriseKnowledgeGraph resource",
+ "description": "Writes EnterpriseKnowledgeGraph resources"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.EnterpriseKnowledgeGraph/services/delete",
+ "display": {
+ "provider": "Microsoft EnterpriseKnowledgeGraph Service",
+ "resource": "EnterpriseKnowledgeGraph Service",
+ "operation": "Delete EnterpriseKnowledgeGraph resource",
+ "description": "Deletes EnterpriseKnowledgeGraph resources"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.EnterpriseKnowledgeGraph/Operations/read",
+ "display": {
+ "provider": "Microsoft EnterpriseKnowledgeGraph Service",
+ "resource": "Operations",
+ "operation": "Read resource provider operations",
+ "description": "Read the operations for all resource types."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.EnterpriseKnowledgeGraph/locations/operationresults/read",
+ "display": {
+ "provider": "Microsoft EnterpriseKnowledgeGraph Service",
+ "resource": "Operation Result",
+ "operation": "Read Operation Result.",
+ "description": "Read the status of an asynchronous operation."
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/ListEnterpriseKnowledgeGraphByResourceGroup.json b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/ListEnterpriseKnowledgeGraphByResourceGroup.json
new file mode 100644
index 000000000000..dfa97ca9f1e4
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/ListEnterpriseKnowledgeGraphByResourceGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2018-12-03"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "samplename",
+
+ "type": "sampletype",
+
+ "id": "someid",
+
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/ListEnterpriseKnowledgeGraphBySubscription.json b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/ListEnterpriseKnowledgeGraphBySubscription.json
new file mode 100644
index 000000000000..13098893232a
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/ListEnterpriseKnowledgeGraphBySubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "api-version": "2018-12-03"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "samplename",
+
+ "type": "sampletype",
+
+ "id": "someid",
+
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/UpdateEnterpriseKnowledgeGraph.json b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/UpdateEnterpriseKnowledgeGraph.json
new file mode 100644
index 000000000000..39544b4db5a5
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/examples/UpdateEnterpriseKnowledgeGraph.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2018-12-03",
+ "resourceName": "sampleekgname",
+ "parameters": {
+ "location": "West US",
+ "sku": {
+ "name": "S1"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "name": "samplename",
+ "type": "sampletype",
+ "id": "someid",
+ "properties": {
+ "provisioningState": "Accepted"
+ }
+ }
+ }
+}
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.go.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.go.md
new file mode 100644
index 000000000000..b15cdf7f29fa
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.go.md
@@ -0,0 +1,33 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: EnterpriseKnowledgeGraphService
+ clear-output-folder: true
+```
+
+### Go multi-api
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-12-03
+ - tag: package-2018-12-03-preview
+```
+
+### Tag: package-2018-12 and go
+These settings apply only when `--tag=package-2018-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-12' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/2018-12-03/$(namespace)
+```
+
+### Tag: package-2018-12-preview and go
+These settings apply only when `--tag=package-2018-12-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-12-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/2018-12-31-preview/$(namespace)
+
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
new file mode 100644
index 000000000000..e2c979a5e36d
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
@@ -0,0 +1,91 @@
+# EnterpriseKnowledgeGraphService
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for EnterpriseKnowledgeGraphService.
+
+
+
+---
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2018-12-03
+```
+
+### Tag: package-2018-12-03 and java
+
+These settings apply only when `--tag=package-2018-12-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-12-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.EnterpriseKnowledgeGraphService.v2018-12-03
+ output-folder: $(azure-libraries-for-java-folder)/EnterpriseKnowledgeGraphService/resource-manager/v2018-12-03
+regenerate-manager: true
+generate-interface: true
+```
+
+
+## Getting Started
+To build the SDK for EnterpriseKnowledgeGraphService, 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 EnterpriseKnowledgeGraphService API.
+
+``` yaml
+openapi-type: arm
+tag: package-2018-12-03
+```
+
+### Tag: package-2018-12-03
+
+These settings apply only when `--tag=package-2018-12-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-12-03'
+input-file:
+- Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json
+directive:
+ - None at the moment
+```
+
+---
+# 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.EnterpriseKnowledgeGraphService
+ output-folder: $(csharp-sdks-folder)/EnterpriseKnowledgeGraphService/Microsoft.Azure.Management.EnterpriseKnowledgeGraphService/Generated
+ clear-output-folder: true
+```
diff --git a/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json b/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json
index a0d27ff3854d..41527760bf48 100644
--- a/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json
+++ b/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/ADHybridHealthService.json
@@ -195,7 +195,7 @@
],
"responses": {
"200": {
- "description": "Sucessfully updated service.",
+ "description": "Successfully updated service.",
"schema": {
"$ref": "#/definitions/ServiceProperties"
}
@@ -2787,7 +2787,7 @@
{
"name": "serviceMemberId",
"in": "path",
- "description": "The server Id for which the laert details needs to be queried.",
+ "description": "The server Id for which the alert details needs to be queried.",
"required": true,
"type": "string",
"format": "uuid"
@@ -3258,6 +3258,76 @@
}
}
}
+ },
+ "/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/riskyIp/blobUris": {
+ "get": {
+ "tags": [ "Reports" ],
+ "description": "Gets all Risky IP report URIs for the last 7 days.",
+ "x-ms-examples": {
+ "services_listAllRiskyIpDownloadReport": {
+ "$ref": "./examples/RiskyIpDownload.json"
+ }
+ },
+ "operationId": "services_listAllRiskyIpDownloadReport",
+ "parameters": [
+ {
+ "name": "serviceName",
+ "in": "path",
+ "description": "The name of the service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Risky IP report URIs for the last 7 days.",
+ "schema": {
+ "$ref": "#/definitions/RiskyIPBlobUris"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.ADHybridHealthService/services/{serviceName}/reports/riskyIp/generateBlobUri": {
+ "post": {
+ "tags": [ "Reports" ],
+ "description": "Initiate the generation of a new Risky IP report. Returns the URI for the new one.",
+ "x-ms-examples": {
+ "services_listCurrentRiskyIpDownloadReport": {
+ "$ref": "./examples/RiskyIpDownload.json"
+ }
+ },
+ "operationId": "services_listCurrentRiskyIpDownloadReport",
+ "parameters": [
+ {
+ "name": "serviceName",
+ "in": "path",
+ "description": "The name of the service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The URI of the Risky IP report that was requested.",
+ "schema": {
+ "$ref": "#/definitions/RiskyIPBlobUris"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
}
},
"definitions": {
@@ -3287,7 +3357,7 @@
}
},
"AdditionalInformation": {
- "description": "The addtional information for a property.",
+ "description": "The additional information for a property.",
"type": "object",
"properties": {
"titleName": {
@@ -3374,7 +3444,7 @@
"type": "string"
},
"createdDate": {
- "description": "The date time , in UTC, when the server was onboaraded to Azure Active Directory Connect Health.",
+ "description": "The date time , in UTC, when the server was onboarded to Azure Active Directory Connect Health.",
"type": "string",
"format": "date-time"
},
@@ -3416,7 +3486,7 @@
"format": "date-time"
},
"lastUpdated": {
- "description": "The date and time, in UTC, when the server proeprties were last updated.",
+ "description": "The date and time, in UTC, when the server properties were last updated.",
"type": "string",
"format": "date-time"
},
@@ -3577,7 +3647,7 @@
}
},
"state": {
- "description": "The alert state which can be either active or resolved with multile resolution types.",
+ "description": "The alert state which can be either active or resolved with multiple resolution types.",
"type": "string",
"enum": [
"Active",
@@ -3684,7 +3754,7 @@
"type": "string"
},
"state": {
- "description": "The alert state which can be either active or resolved with multile resolution types.",
+ "description": "The alert state which can be either active or resolved with multiple resolution types.",
"type": "string"
},
"shortName": {
@@ -3964,7 +4034,7 @@
"Update",
"Delete",
"Obsolete",
- "DeletAdd"
+ "DeleteAdd"
],
"x-ms-enum": {
"name": "DeltaOperationType",
@@ -3990,7 +4060,7 @@
"type": "string"
},
"objectClasses": {
- "description": "The olist of object classes.",
+ "description": "The list of object classes.",
"type": "array",
"items": {
"type": "string"
@@ -4144,7 +4214,7 @@
"type": "string"
},
"timeOccured": {
- "description": "The time when the connection error occured.",
+ "description": "The time when the connection error occurred.",
"type": "string",
"format": "date-time"
},
@@ -4196,7 +4266,7 @@
"type": "string"
},
"entryNumber": {
- "description": "The entry number for object error occured.",
+ "description": "The entry number for object error occurred.",
"type": "integer"
},
"lineNumber": {
@@ -4208,7 +4278,7 @@
"type": "integer"
},
"dn": {
- "description": "The distingished name of the object.",
+ "description": "The distinguished name of the object.",
"type": "string"
},
"anchor": {
@@ -4482,7 +4552,7 @@
"type": "string"
},
"timeFirstOccured": {
- "description": "The date and time when the export error first occured.",
+ "description": "The date and time when the export error first occurred.",
"type": "string",
"format": "date-time"
},
@@ -4563,7 +4633,7 @@
"type": "string"
},
"timeOccured": {
- "description": "The date and time of occurance.",
+ "description": "The date and time of occurrence.",
"type": "string",
"format": "date-time"
},
@@ -4601,7 +4671,7 @@
"format": "date-time"
},
"modifiedAttributeValue": {
- "description": "The modified atttribute value.",
+ "description": "The modified attribute value.",
"type": "string"
}
}
@@ -4956,7 +5026,7 @@
"type": "string"
},
"consecutiveFailureCount": {
- "description": "The number of consecutive faulire counts.",
+ "description": "The number of consecutive failure counts.",
"type": "integer"
},
"namingContext": {
@@ -5106,7 +5176,7 @@
"$ref": "#/definitions/AssociatedObject"
},
"modifiedOrRemovedAttributeValue": {
- "description": "The modified or removed attribute vlaue.",
+ "description": "The modified or removed attribute value.",
"type": "string"
},
"runStepResultId": {
@@ -5232,7 +5302,7 @@
"type": "string"
},
"minValue": {
- "description": "The minimun value.",
+ "description": "The minimum value.",
"type": "integer"
},
"maxValue": {
@@ -5355,7 +5425,7 @@
}
},
"ObjectWithSyncError": {
- "description": "The objects withg sync errors.",
+ "description": "The objects with sync errors.",
"type": "object",
"properties": {
"sourceOfAuthority": {
@@ -5391,7 +5461,7 @@
"type": "string"
},
"attributeMultiValues": {
- "description": "Indicates if the atttibute is multi-valued or not.",
+ "description": "Indicates if the attribute is multi-valued or not.",
"type": "boolean"
},
"minLimit": {
@@ -5411,7 +5481,7 @@
"type": "string"
},
"timeOccured": {
- "description": "The date and time of occurance.",
+ "description": "The date and time of occurrence.",
"type": "string",
"format": "date-time"
},
@@ -5452,7 +5522,7 @@
"readOnly": true
},
"value": {
- "description": "List of operations supported by the Microsoft.ADHybridhHealthService resource provider.",
+ "description": "List of operations supported by the Microsoft.ADHybridHealthService resource provider.",
"type": "array",
"readOnly": true,
"items": {
@@ -5460,7 +5530,7 @@
}
},
"totalCount": {
- "description": "The total count of opertaions.",
+ "description": "The total count of operations.",
"type": "integer"
},
"continuationToken": {
@@ -5564,7 +5634,7 @@
"type": "string"
},
"connectionTimeout": {
- "description": "Connection timeoit for password extension.",
+ "description": "Connection timeout for password extension.",
"type": "integer"
},
"user": {
@@ -5597,7 +5667,7 @@
"type": "boolean"
},
"unlockAccount": {
- "description": "Indicates if accounts should be unloacked when resetting password.",
+ "description": "Indicates if accounts should be unlocked when resetting password.",
"type": "boolean"
}
}
@@ -5650,7 +5720,7 @@
"type": "string"
},
"totalDcCount": {
- "description": "The total numbe of domain controllers for a given forest.",
+ "description": "The total number of domain controllers for a given forest.",
"type": "integer"
},
"errorDcCount": {
@@ -5721,6 +5791,51 @@
}
}
},
+ "RiskyIPBlobUri": {
+ "description": "The blob uri pointing to Risky IP Report.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "description": "The tenant id for whom the report belongs to.",
+ "type": "string"
+ },
+ "serviceId": {
+ "description": "The service id for whom the report belongs to.",
+ "type": "string"
+ },
+ "resultSasUri": {
+ "description": "The blob uri for the report.",
+ "type": "string"
+ },
+ "blobCreateDateTime": {
+ "description": "Time at which the the new Risky IP report was requested.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "jobCompletionTime": {
+ "description": "Time at which the blob creation job for the new Risky IP report was completed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "status": {
+ "description": "Status of the Risky IP report generation.",
+ "type": "string"
+ }
+ }
+ },
+ "RiskyIPBlobUris": {
+ "description": "The list containing blob uris.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of blob uris.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RiskyIPBlobUri"
+ }
+ }
+ }
+ },
"RuleErrorInfo": {
"description": "The error details in legacy rule processing.",
"type": "object",
@@ -5756,7 +5871,7 @@
"type": "integer"
},
"objectProcessLimit": {
- "description": "The obect processing limit.",
+ "description": "The object processing limit.",
"type": "integer"
},
"objectDeleteLimit": {
@@ -5768,7 +5883,7 @@
"type": "integer"
},
"partitionId": {
- "description": "The Id of the partition that a current run setp operation is executing.",
+ "description": "The Id of the partition that a current run step operation is executing.",
"type": "string"
},
"operationType": {
@@ -5879,7 +5994,7 @@
"format": "date-time"
},
"customNotificationEmails": {
- "description": "The list of additional emails that are configured to recieve notifications about the service.",
+ "description": "The list of additional emails that are configured to receive notifications about the service.",
"type": "array",
"items": {
"type": "string"
@@ -6027,7 +6142,7 @@
"type": "string"
},
"createdDate": {
- "description": "The date time , in UTC, when the server was onboaraded to Azure Active Directory Connect Health.",
+ "description": "The date time , in UTC, when the server was onboarded to Azure Active Directory Connect Health.",
"type": "string",
"format": "date-time"
},
@@ -6069,7 +6184,7 @@
"format": "date-time"
},
"lastUpdated": {
- "description": "The date and time, in UTC, when the server proeprties were last updated.",
+ "description": "The date and time, in UTC, when the server properties were last updated.",
"type": "string",
"format": "date-time"
},
@@ -6216,7 +6331,7 @@
},
"alertSuppressionTimeInMins": {
"type": "integer",
- "description": "The time in minutues after which an alert will be autosupressed."
+ "description": "The time in minutes after which an alert will be auto-suppressed."
},
"consentedToMicrosoftDevOps": {
"type": "boolean",
@@ -6245,11 +6360,11 @@
"description": "The reason due to which the tenant was disabled in Azure Active Directory Connect Health."
},
"globalAdminsEmail": {
- "type": "object",
+ "type": "array",
"items": {
"type": "string"
},
- "description": "The list of golbal administrators for the tenant."
+ "description": "The list of global administrators for the tenant."
},
"initialDomain": {
"type": "string",
diff --git a/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/examples/RiskyIpDownload.json b/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/examples/RiskyIpDownload.json
new file mode 100644
index 000000000000..9f4a11b12d58
--- /dev/null
+++ b/specification/adhybridhealthservice/resource-manager/Microsoft.ADHybridHealthService/stable/2014-01-01/examples/RiskyIpDownload.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "sampleServiceName",
+ "api-version": "2014-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tenantId": "TenantId of the tenant.",
+ "serviceId": "ServiceId of the tenant.",
+ "resultSasUri": "SAS Uri of the blob.",
+ "blobCreateDateTime": "2019-01-07T20:32:02+00:00",
+ "jobCompletionTime": "2019-01-07T20:32:05+00:00",
+ "status": "status of the task."
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/adhybridhealthservice/resource-manager/readme.md b/specification/adhybridhealthservice/resource-manager/readme.md
index bf70e561423e..3a4a6b7f437b 100644
--- a/specification/adhybridhealthservice/resource-manager/readme.md
+++ b/specification/adhybridhealthservice/resource-manager/readme.md
@@ -102,4 +102,11 @@ namespace: com.microsoft.azure.management.adhybridhealthservice
license-header: MICROSOFT_MIT_NO_CODEGEN
payload-flattening-threshold: 1
output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-adhybridhealthservice
+directive:
+ - rename-operation:
+ from: addsService_getMetrics
+ to: addsServices_getMetrics
+ - rename-operation:
+ from: service_getMetrics
+ to: services_getMetrics
```
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
index b57a92105dc9..84709a47634e 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
@@ -40,7 +40,7 @@
],
"responses": {
"200": {
- "description": "OK. Succesfully retrieved operations list.",
+ "description": "OK. Successfully retrieved operations list.",
"schema": {
"$ref": "#/definitions/operationsList"
}
@@ -107,7 +107,7 @@
],
"responses": {
"200": {
- "description": "OK. Succesfully listed alert objects.",
+ "description": "OK. Successfully listed alert objects.",
"schema": {
"$ref": "#/definitions/alertsList"
}
@@ -164,7 +164,7 @@
},
"x-ms-examples": {
"GetById": {
- "$ref": "./examples/Alerts_GetbyId.json"
+ "$ref": "./examples/Alerts_GetById.json"
}
}
}
@@ -395,7 +395,7 @@
},
"x-ms-examples": {
"Get": {
- "$ref": "./examples/SmartGroups_GetbyId.json"
+ "$ref": "./examples/SmartGroups_GetById.json"
}
}
}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/examples/Alerts_GetbyId.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/examples/Alerts_GetById.json
similarity index 100%
rename from specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/examples/Alerts_GetbyId.json
rename to specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/examples/Alerts_GetById.json
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/examples/SmartGroups_GetbyId.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/examples/SmartGroups_GetById.json
similarity index 100%
rename from specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/examples/SmartGroups_GetbyId.json
rename to specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/examples/SmartGroups_GetById.json
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json
new file mode 100644
index 000000000000..6446c5077847
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json
@@ -0,0 +1,2150 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-11-02-privatepreview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "REST APIs for Azure Alerts Management Service."
+ },
+ "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.AlertsManagement/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "List all operations available through Azure Alerts Management Resource Provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully retrieved operations list.",
+ "schema": {
+ "$ref": "#/definitions/operationsList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts": {
+ "get": {
+ "operationId": "Alerts_GetAll",
+ "description": "List all the existing alerts, where the results can be selective by passing multiple filter parameters including time range and sorted on specific fields. ",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ },
+ {
+ "$ref": "#/parameters/monitorCondition"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/alertState"
+ },
+ {
+ "$ref": "#/parameters/smartGroupIdFilter"
+ },
+ {
+ "$ref": "#/parameters/includePayload"
+ },
+ {
+ "$ref": "#/parameters/pageCount"
+ },
+ {
+ "$ref": "#/parameters/alertsSortBy"
+ },
+ {
+ "$ref": "#/parameters/sortOrder"
+ },
+ {
+ "$ref": "#/parameters/timeRange"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Successfully listed alert objects.",
+ "schema": {
+ "$ref": "#/definitions/alertsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListAlerts": {
+ "$ref": "./examples/Alerts_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}": {
+ "get": {
+ "operationId": "Alerts_GetById",
+ "summary": "Get a specific alert.",
+ "description": "Get information related to a specific alert",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/alertId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the alert with the specified ID.",
+ "schema": {
+ "$ref": "#/definitions/alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetById": {
+ "$ref": "./examples/Alerts_GetById.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}/changestate": {
+ "post": {
+ "operationId": "Alerts_ChangeState",
+ "description": "Change the state of the alert.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/alertId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/newState"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Alert state updated.",
+ "schema": {
+ "$ref": "#/definitions/alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resolve": {
+ "$ref": "./examples/Alerts_ChangeState.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alerts/{alertId}/history": {
+ "get": {
+ "operationId": "Alerts_GetHistory",
+ "description": "Get the history of the changes of an alert.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/alertId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the list of changes of alert.",
+ "schema": {
+ "$ref": "#/definitions/alertModification"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resolve": {
+ "$ref": "./examples/Alerts_History.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/alertsSummary": {
+ "get": {
+ "operationId": "Alerts_GetSummary",
+ "description": "Summary of alerts with the count each severity.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/timeRange"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Alert state updated.",
+ "schema": {
+ "$ref": "#/definitions/alertsSummary"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summary": {
+ "$ref": "./examples/Alerts_Summary.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups": {
+ "get": {
+ "operationId": "SmartGroups_GetAll",
+ "summary": "Get all smartGroups within the subscription",
+ "description": "List all the smartGroups within the specified subscription. ",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ },
+ {
+ "$ref": "#/parameters/monitorCondition"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/smartGroupState"
+ },
+ {
+ "$ref": "#/parameters/timeRange"
+ },
+ {
+ "$ref": "#/parameters/pageCount"
+ },
+ {
+ "$ref": "#/parameters/smartGroupsSortBy"
+ },
+ {
+ "$ref": "#/parameters/sortOrder"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns list of all smartGroups.",
+ "schema": {
+ "$ref": "#/definitions/smartGroupsList",
+ "description": "List of smart groups in value property."
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List": {
+ "$ref": "./examples/SmartGroups_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": {
+ "get": {
+ "operationId": "SmartGroups_GetById",
+ "summary": "Get information of smart alerts group.",
+ "description": "Get details of smart group.",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/smartGroupId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the group with the specified smart group Id.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/smartGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get": {
+ "$ref": "./examples/SmartGroups_GetById.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": {
+ "post": {
+ "operationId": "SmartGroups_ChangeState",
+ "description": "Change the state from unresolved to resolved and all the alerts within the smart group will also be resolved.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/smartGroupId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/newState"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Alert state updated.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/smartGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "changestate": {
+ "$ref": "./examples/SmartGroups_ChangeState.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": {
+ "get": {
+ "operationId": "SmartGroups_GetHistory",
+ "description": "Get the history of the changes of smart group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/smartGroupId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the list of changes of smart group.",
+ "schema": {
+ "$ref": "#/definitions/smartGroupModification"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resolve": {
+ "$ref": "./examples/SmartGroups_History.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": {
+ "get": {
+ "summary": "Get all action rule in a given subscription",
+ "description": "List all action rules of the subscription and given input filters",
+ "operationId": "ActionRules_GetAll_Subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of action rules",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/actionRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AlertsManagement/actionRules": {
+ "get": {
+ "summary": "Get all action rules created in a resource group",
+ "operationId": "ActionRules_GetAll_ResourceGroup",
+ "description": "List all action rules of the subscription, created in given resource group and given input filters",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of action rules",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/actionRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": {
+ "get": {
+ "summary": "Get action rule by name",
+ "operationId": "ActionRules_GetByName",
+ "description": "Get a specific action rule",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroup"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name of action rule that needs to be fetched",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the specific action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/actionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "summary": "Create/update an action rule",
+ "operationId": "ActionRules_CreateUpdate",
+ "description": "Creates/Updates a specific action rule",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroup"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name of action rule that needs to be created/updated",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionRule",
+ "in": "body",
+ "description": "action rule to be created/updated",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/actionRule"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the created/updated action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/actionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete action rule",
+ "description": "Deletes a given action rule",
+ "operationId": "ActionRules_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroup"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name that needs to be deleted",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns true if deleted successfully",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "summary": "Patch action rule",
+ "description": "Update enabled flag and/or tags for the given action rule",
+ "operationId": "ActionRules_Patch",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroup"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name that needs to be updated",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionRulePatch",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/patchObject"
+ },
+ "description": "Parameters supplied to the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the created/updated action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "description": "subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "type": "string",
+ "in": "path",
+ "required": true
+ },
+ "resourceGroup": {
+ "name": "resourceGroup",
+ "description": "Resource group name where the resource is created.",
+ "type": "string",
+ "in": "path",
+ "required": true
+ },
+ "api-version": {
+ "name": "api-version",
+ "description": "client API version",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "2018-11-02-privatepreview",
+ "2018-05-05"
+ ],
+ "x-ms-enum": {
+ "name": "api-version",
+ "modelAsString": true
+ }
+ },
+ "alertId": {
+ "name": "alertId",
+ "description": "Unique ID of an alert object.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResourceGroup": {
+ "description": "filter by target resource group name",
+ "name": "targetResourceGroup",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResource": {
+ "description": "filter by target resource",
+ "name": "targetResource",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResourceType": {
+ "description": "filter by target resource type",
+ "name": "targetResourceType",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "monitorService": {
+ "description": "filter by monitor service which is the source of the alert object.",
+ "name": "monitorService",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "enum": [
+ "Platform",
+ "Application Insights",
+ "Log Analytics",
+ "Zabbix",
+ "SCOM",
+ "Nagios",
+ "Infrastructure Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "ServiceHealth",
+ "SmartDetector"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorService",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "filter by severity",
+ "name": "severity",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "smartGroupIdFilter": {
+ "description": "filter by smart Group Id",
+ "name": "smartGroupId",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "smartGroupId": {
+ "description": "Smart Group Id",
+ "name": "smartGroupId",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "newState": {
+ "description": "filter by state",
+ "name": "newState",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
+ },
+ "alertState": {
+ "description": "filter by state",
+ "name": "alertState",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
+ },
+ "smartGroupState": {
+ "description": "filter by state",
+ "name": "smartGroupState",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
+ },
+ "monitorCondition": {
+ "description": "filter by monitor condition which is the state of the alert at monitor service",
+ "name": "monitorCondition",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Fired",
+ "Resolved"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorCondition",
+ "modelAsString": true
+ }
+ },
+ "timeRange": {
+ "description": "filter by time range, default value is 1 day",
+ "name": "timeRange",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "1h",
+ "1d",
+ "7d",
+ "30d"
+ ],
+ "x-ms-enum": {
+ "name": "TimeRange",
+ "modelAsString": true
+ }
+ },
+ "includePayload": {
+ "description": "include payload field content, default value is 'false'.",
+ "name": "includePayload",
+ "type": "boolean",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "pageCount": {
+ "description": "number of items per page, default value is '25'.",
+ "name": "pageCount",
+ "type": "integer",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "alertsSortBy": {
+ "description": "sort the query results by input field, default value is 'lastModifiedDateTime'.",
+ "name": "sortBy",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "name",
+ "severity",
+ "alertState",
+ "monitorCondition",
+ "targetResource",
+ "targetResourceName",
+ "targetResourceGroup",
+ "targetResourceType",
+ "startDateTime",
+ "lastModifiedDateTime"
+ ],
+ "x-ms-enum": {
+ "name": "AlertsSortByFields",
+ "modelAsString": true
+ }
+ },
+ "smartGroupsSortBy": {
+ "description": "sort the query results by input field, default value is 'lastModifiedDateTime'.",
+ "name": "sortBy",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "alertsCount",
+ "state",
+ "severity",
+ "startDateTime",
+ "lastModifiedDateTime"
+ ],
+ "x-ms-enum": {
+ "name": "SmartGroupsSortByFields",
+ "modelAsString": true
+ }
+ },
+ "sortOrder": {
+ "description": "sort the query results order in either ascending or descending, default value is 'desc' for time fields and 'asc' for others.",
+ "name": "sortOrder",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "asc",
+ "desc"
+ ]
+ }
+ },
+ "definitions": {
+ "operation": {
+ "description": "Operation provided by provider",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "display": {
+ "type": "object",
+ "description": "Properties of the operation",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Provider name"
+ },
+ "resource": {
+ "type": "string",
+ "description": "Resource name"
+ },
+ "operation": {
+ "type": "string",
+ "description": "Operation name"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "operationsList": {
+ "description": "Lists the operations available in the AlertsManagement RP.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of alerts.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/operation"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "errorResponse": {
+ "description": "An error response from the service.",
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ },
+ "errorResponseBody": {
+ "description": "Details of error response.",
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code, intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "Description of the error, intended for display in user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the particular error, for example name of the property."
+ },
+ "details": {
+ "type": "array",
+ "description": "A list of additional details about the error.",
+ "items": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name"
+ }
+ }
+ },
+ "ManagedResource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure managed resource object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ]
+ },
+ "alert": {
+ "description": "An alert created in alert management service.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/alertProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "alertsList": {
+ "description": "List the alerts.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of alerts.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of alerts",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/alert"
+ }
+ }
+ }
+ },
+ "alertProperties": {
+ "type": "object",
+ "description": "An alert created in alert management service.",
+ "properties": {
+ "severity": {
+ "type": "string",
+ "description": "Severity of alert Sev1 being highest and Sev3 being lowest.",
+ "readOnly": true,
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "signalType": {
+ "type": "string",
+ "description": "Log based alert or metric based alert",
+ "readOnly": true,
+ "enum": [
+ "Metric",
+ "Log",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "SignalType",
+ "modelAsString": true
+ }
+ },
+ "alertState": {
+ "type": "string",
+ "description": "Alert object state",
+ "readOnly": true,
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
+ },
+ "monitorCondition": {
+ "type": "string",
+ "description": "Condition of the rule at the monitor service",
+ "readOnly": true,
+ "enum": [
+ "Fired",
+ "Resolved"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorCondition",
+ "modelAsString": true
+ }
+ },
+ "targetResource": {
+ "type": "string",
+ "description": "Target ARM resource, on which alert got created."
+ },
+ "targetResourceName": {
+ "type": "string",
+ "description": "Target ARM resource name, on which alert got created."
+ },
+ "targetResourceGroup": {
+ "type": "string",
+ "description": "Resource group of target ARM resource."
+ },
+ "targetResourceType": {
+ "type": "string",
+ "description": "Resource type of target ARM resource"
+ },
+ "monitorService": {
+ "type": "string",
+ "description": "Monitor service which is the source of the alert object.",
+ "readOnly": true,
+ "enum": [
+ "Platform",
+ "Application Insights",
+ "Log Analytics",
+ "Infrastructure Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "ServiceHealth",
+ "SmartDetector",
+ "Zabbix",
+ "SCOM",
+ "Nagios"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorService",
+ "modelAsString": true
+ }
+ },
+ "sourceCreatedId": {
+ "type": "string",
+ "description": "Unique Id created by monitor service",
+ "readOnly": true
+ },
+ "smartGroupId": {
+ "type": "string",
+ "description": "Unique Id of the smart group",
+ "readOnly": true
+ },
+ "smartGroupingReason": {
+ "type": "string",
+ "description": "Reason for addition to a smart group",
+ "readOnly": true
+ },
+ "startDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation time(ISO-8601 format).",
+ "readOnly": true
+ },
+ "lastModifiedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last modification time(ISO-8601 format).",
+ "readOnly": true
+ },
+ "lastModifiedUserName": {
+ "type": "string",
+ "description": "User who last modified the alert.",
+ "readOnly": true
+ },
+ "payload": {
+ "type": "object",
+ "description": "More details which are contextual to the monitor service.",
+ "readOnly": true
+ }
+ }
+ },
+ "alertModification": {
+ "description": "Alert Modification details",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/alertModificationProperties"
+ }
+ }
+ },
+ "alertModificationProperties": {
+ "type": "object",
+ "description": "Properties of the alert modification item.",
+ "properties": {
+ "alertId": {
+ "type": "string",
+ "description": "Unique Id of the alert for which the history is being retrieved",
+ "readOnly": true
+ },
+ "modifications": {
+ "type": "array",
+ "description": "Modification details",
+ "items": {
+ "$ref": "#/definitions/alertModificationItem"
+ }
+ }
+ }
+ },
+ "alertModificationItem": {
+ "description": "Alert modification item.",
+ "properties": {
+ "modificationEvent": {
+ "type": "string",
+ "description": "Reason for the modification",
+ "enum": [
+ "AlertCreated",
+ "StateChange",
+ "MonitorConditionChange"
+ ],
+ "x-ms-enum": {
+ "name": "AlertModificationEvent"
+ }
+ },
+ "oldValue": {
+ "type": "string",
+ "description": "Old value"
+ },
+ "newValue": {
+ "type": "string",
+ "description": "New value"
+ },
+ "modifiedAt": {
+ "type": "string",
+ "description": "Modified date and time"
+ },
+ "modifiedBy": {
+ "type": "string",
+ "description": "Modified user details (Principal client name)"
+ },
+ "comments": {
+ "type": "string",
+ "description": "Modification comments"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the modification"
+ }
+ }
+ },
+ "smartGroupModification": {
+ "description": "Alert Modification details",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/smartGroupModificationProperties"
+ }
+ }
+ },
+ "smartGroupModificationProperties": {
+ "description": "Properties of the smartGroup modification item.",
+ "properties": {
+ "smartGroupId": {
+ "type": "string",
+ "description": "Unique Id of the smartGroup for which the history is being retrieved",
+ "readOnly": true
+ },
+ "modifications": {
+ "type": "array",
+ "description": "Modification details",
+ "items": {
+ "$ref": "#/definitions/smartGroupModificationItem"
+ }
+ },
+ "nextLink": {
+ "description": "URL to fetch the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "smartGroupModificationItem": {
+ "description": "smartGroup modification item.",
+ "properties": {
+ "modificationEvent": {
+ "type": "string",
+ "description": "Reason for the modification",
+ "enum": [
+ "SmartGroupCreated",
+ "StateChange",
+ "AlertAdded",
+ "AlertRemoved"
+ ],
+ "x-ms-enum": {
+ "name": "SmartGroupModificationEvent"
+ }
+ },
+ "oldValue": {
+ "type": "string",
+ "description": "Old value"
+ },
+ "newValue": {
+ "type": "string",
+ "description": "New value"
+ },
+ "modifiedAt": {
+ "type": "string",
+ "description": "Modified date and time"
+ },
+ "modifiedBy": {
+ "type": "string",
+ "description": "Modified user details (Principal client name)"
+ },
+ "comments": {
+ "type": "string",
+ "description": "Modification comments"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the modification"
+ }
+ }
+ },
+ "alertsSummary": {
+ "description": "Summary of the alerts.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/alertsSummaryProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "alertsSummaryProperties": {
+ "type": "object",
+ "description": "Summary of the alerts",
+ "properties": {
+ "total": {
+ "type": "integer",
+ "description": "Total number of alerts."
+ },
+ "smartGroupsCount": {
+ "type": "integer",
+ "description": "Total number of smart groups."
+ },
+ "summaryByState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByState"
+ }
+ ],
+ "type": "object",
+ "description": "Summary of alerts by state"
+ },
+ "summaryBySeverity": {
+ "type": "object",
+ "description": "Summary of alerts by severity",
+ "properties": {
+ "sev0": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByState"
+ }
+ ],
+ "type": "object",
+ "description": "Summary of alerts by severity 'Sev0'"
+ },
+ "sev1": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByState"
+ }
+ ],
+ "type": "object",
+ "description": "Summary of alerts by severity 'Sev1'"
+ },
+ "sev2": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByState"
+ }
+ ],
+ "type": "object",
+ "description": "Summary of alerts by severity 'Sev2'"
+ },
+ "sev3": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByState"
+ }
+ ],
+ "type": "object",
+ "description": "Summary of alerts by severity 'Sev3'"
+ },
+ "sev4": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByState"
+ }
+ ],
+ "type": "object",
+ "description": "Summary of alerts by severity 'Sev4'"
+ }
+ }
+ },
+ "summaryBySeverityAndMonitorCondition": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryBySeverityAndMonitorCondition"
+ }
+ ],
+ "type": "object",
+ "description": "Summary of alerts by severity and monitor condition"
+ },
+ "summaryByMonitorService": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByMonitorService"
+ }
+ ],
+ "type": "object",
+ "description": "Summary of alerts by severity"
+ },
+ "nextLink": {
+ "description": "URL to fetch the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "alertsSummaryByState": {
+ "type": "object",
+ "description": "Summary of alerts by state",
+ "properties": {
+ "new": {
+ "type": "integer",
+ "description": "Count of alerts with state 'New'"
+ },
+ "acknowledged": {
+ "type": "integer",
+ "description": "Count of alerts with state 'Acknowledged'"
+ },
+ "closed": {
+ "type": "integer",
+ "description": "Count of alerts with state 'Closed'"
+ }
+ }
+ },
+ "alertsSummaryBySeverityAndMonitorCondition": {
+ "type": "object",
+ "description": "Summary of the alerts by severity and monitor condition",
+ "properties": {
+ "sev0": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByMonitorCondition"
+ }
+ ],
+ "description": "Summary of alerts by monitor condition with severity 'Sev0'"
+ },
+ "sev1": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByMonitorCondition"
+ }
+ ],
+ "description": "Summary of alerts by monitor condition with severity 'Sev1'"
+ },
+ "sev2": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByMonitorCondition"
+ }
+ ],
+ "description": "Summary of alerts by monitor condition with severity 'Sev2'"
+ },
+ "sev3": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByMonitorCondition"
+ }
+ ],
+ "description": "Summary of alerts by monitor condition with severity 'Sev3'"
+ },
+ "sev4": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/alertsSummaryByMonitorCondition"
+ }
+ ],
+ "description": "Summary of alerts by monitor condition with severity 'Sev4'"
+ }
+ }
+ },
+ "alertsSummaryByMonitorCondition": {
+ "type": "object",
+ "description": "Summary of the alerts by monitor condition",
+ "properties": {
+ "fired": {
+ "type": "integer",
+ "description": "Count of alerts with monitorCondition 'Fired'"
+ },
+ "resolved": {
+ "type": "integer",
+ "description": "Count of alerts with monitorCondition 'Resolved'"
+ }
+ }
+ },
+ "alertsSummaryByMonitorService": {
+ "type": "object",
+ "description": "Summary of the alerts by monitor service",
+ "properties": {
+ "platform": {
+ "type": "integer",
+ "description": "Count of alerts of \"Platform\""
+ },
+ "application Insights": {
+ "type": "integer",
+ "description": "Count of alerts of \"Application Insights\""
+ },
+ "log Analytics": {
+ "type": "integer",
+ "description": "Count of alerts of \"Log Analytics\""
+ },
+ "zabbix": {
+ "type": "integer",
+ "description": "Count of alerts of \"Zabbix\""
+ },
+ "scom": {
+ "type": "integer",
+ "description": "Count of alerts of \"SCOM\""
+ },
+ "nagios": {
+ "type": "integer",
+ "description": "Count of alerts of \"Nagios\""
+ },
+ "infrastructure Insights": {
+ "type": "integer",
+ "description": "Count of alerts of \"Infrastructure Insights\""
+ },
+ "activityLog Administrative": {
+ "type": "integer",
+ "description": "Count of alerts of \"ActivityLog Administrative\""
+ },
+ "activityLog Security": {
+ "type": "integer",
+ "description": "Count of alerts of \"ActivityLog Security\""
+ },
+ "activityLog Recommendation": {
+ "type": "integer",
+ "description": "Count of alerts of \"ActivityLog Recommendation\""
+ },
+ "activityLog Policy": {
+ "type": "integer",
+ "description": "Count of alerts of \"ActivityLog Policy\""
+ },
+ "activityLog Autoscale": {
+ "type": "integer",
+ "description": "Count of alerts of \"ActivityLog Autoscale\""
+ },
+ "serviceHealth": {
+ "type": "integer",
+ "description": "Count of alerts of \"ServiceHealth\""
+ },
+ "smartDetector": {
+ "type": "integer",
+ "description": "Count of alerts of \"Smart Detector\""
+ }
+ }
+ },
+ "smartGroupsList": {
+ "description": "List the alerts.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of alerts.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of alerts",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/smartGroup"
+ }
+ }
+ }
+ },
+ "smartGroup": {
+ "description": "Set of related alerts grouped together smartly by AMS.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/smartGroupProperties"
+ }
+ }
+ },
+ "smartGroupProperties": {
+ "type": "object",
+ "description": "Properties of smart group.",
+ "properties": {
+ "alertsCount": {
+ "type": "integer",
+ "description": "Total number of alerts in smart group"
+ },
+ "smartGroupState": {
+ "type": "string",
+ "description": "Smart group state",
+ "readOnly": true,
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "type": "string",
+ "description": "Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the alerts in the group.",
+ "readOnly": true,
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "startDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation time of smart group. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "lastModifiedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last updated time of smart group. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "lastModifiedUserName": {
+ "type": "string",
+ "description": "Last modified by user name.",
+ "readOnly": true
+ },
+ "resources": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of target resources in the smart group"
+ },
+ "resourceTypes": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of target resource types in the smart group"
+ },
+ "resourceGroups": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of target resource groups in the smart group"
+ },
+ "monitorServices": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of monitorServices in the smart group"
+ },
+ "monitorConditions": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of monitorConditions in the smart group"
+ },
+ "alertStates": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of alertStates in the smart group"
+ },
+ "alertSeverities": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of alertSeverities in the smart group"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts."
+ }
+ }
+ },
+ "smartGroupAggregatedProperty": {
+ "type": "object",
+ "description": "Aggregated property of each type",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the type."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of items of type."
+ }
+ }
+ },
+ "scope": {
+ "type": "object",
+ "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "type of target scope",
+ "enum": [
+ "ResourceGroup",
+ "Resource"
+ ],
+ "x-ms-enum": {
+ "name": "ScopeType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "type": "array",
+ "description": "list of ARM IDs of the given scope type which will be the target of the given action rule.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "condition": {
+ "type": "object",
+ "description": "condition to trigger an action rule",
+ "properties": {
+ "operator": {
+ "type": "string",
+ "description": "operator for a given condition",
+ "enum": [
+ "Equals",
+ "NotEquals",
+ "Contains",
+ "DoesNotContain"
+ ],
+ "x-ms-enum": {
+ "name": "ScopeType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "type": "array",
+ "description": "list of values to match for a given condition.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "conditions": {
+ "type": "object",
+ "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.",
+ "properties": {
+ "severity": {
+ "$ref": "#/definitions/condition"
+ },
+ "monitorService": {
+ "$ref": "#/definitions/condition"
+ },
+ "monitorCondition": {
+ "$ref": "#/definitions/condition"
+ },
+ "signalType": {
+ "$ref": "#/definitions/condition"
+ },
+ "targetResource": {
+ "$ref": "#/definitions/condition"
+ },
+ "targetResourceGroup": {
+ "$ref": "#/definitions/condition"
+ },
+ "targetResourceType": {
+ "$ref": "#/definitions/condition"
+ },
+ "alertRuleId": {
+ "$ref": "#/definitions/condition"
+ },
+ "description": {
+ "$ref": "#/definitions/condition"
+ },
+ "logAnalyticsSearchResults": {
+ "$ref": "#/definitions/condition"
+ },
+ "applicationInsightsSearchResults": {
+ "$ref": "#/definitions/condition"
+ }
+ }
+ },
+ "suppressionConfig": {
+ "type": "object",
+ "discriminator": "recurrenceType",
+ "description": "Suppression logic for a given action rule",
+ "required": [
+ "recurrenceType"
+ ],
+ "properties": {
+ "recurrenceType": {
+ "type": "string",
+ "description": "Specifies when the suppression should be applied",
+ "enum": [
+ "Always",
+ "Once",
+ "Daily",
+ "Weekly",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "SuppressionType",
+ "modelAsString": true
+ }
+ },
+ "schedule": {
+ "$ref": "#/definitions/suppressionSchedule"
+ }
+ }
+ },
+ "suppressionSchedule": {
+ "type": "object",
+ "description": "Schedule for a given suppression configuration.",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "description": "Start date for suppression"
+ },
+ "endDate": {
+ "type": "string",
+ "description": "End date for suppression"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start time for suppression"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "End date for suppression"
+ },
+ "recurrenceValues": {
+ "type": "array",
+ "description": "Specifies the values for recurrence pattern",
+ "items": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "actionRule": {
+ "description": "Action rule object containing target scope, conditions and suppression logic",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/actionRuleProperties"
+ }
+ }
+ },
+ "actionRuleProperties": {
+ "description": "Action rule properties defining scope, conditions, suppression logic for action rule",
+ "properties": {
+ "scope": {
+ "$ref": "#/definitions/scope"
+ },
+ "conditions": {
+ "$ref": "#/definitions/conditions"
+ },
+ "suppressionConfig": {
+ "$ref": "#/definitions/suppressionConfig"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of action rule"
+ },
+ "resourceGroup": {
+ "type": "string",
+ "description": "Resource group where action rule is stored",
+ "readOnly": true
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation time of action rule. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last updated time of action rule. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "createdBy": {
+ "type": "string",
+ "description": "Created by user name.",
+ "readOnly": true
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "Last modified by user name.",
+ "readOnly": true
+ },
+ "status": {
+ "type": "string",
+ "description": "Indicates if the given action rule is enabled or disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ActionRuleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "actionRulesList": {
+ "description": "List of action rules",
+ "properties": {
+ "nextLink": {
+ "type": "string",
+ "description": "URL to fetch the next set of action rules"
+ },
+ "value": {
+ "type": "array",
+ "description": "List of action rules",
+ "items": {
+ "$ref": "#/definitions/actionRule"
+ }
+ }
+ }
+ },
+ "patchObject": {
+ "description": "Properties supported by patch",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Indicates if the given action rule is enabled or disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ActionRuleStatus",
+ "modelAsString": true
+ }
+ },
+ "tags": {
+ "type": "object",
+ "description": "tags to be updated"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_Create.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_Create.json
new file mode 100644
index 000000000000..0b4141b3d087
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_Create.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2018-11-02-privatepreview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroup": "alertscorrelationrg",
+ "actionRuleName": "DailySuppression",
+ "actionRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scope": {
+ "type": "ResourceGroup",
+ "values": ["/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"]
+ },
+ "conditions": {
+ "severity": {
+ "operator": "Equals",
+ "values": [ "Sev0", "Sev2" ]
+ },
+ "monitorService": {
+ "operator": "Equals",
+ "values":[ "Platform", "Application Insights" ]
+ },
+ "monitorCondition": {
+ "operator": "Equals",
+ "values":[ "Fired" ]
+ },
+ "targetResourceType": {
+ "operator": "NotEquals",
+ "values":[ "Microsoft.Compute/VirtualMachines" ]
+ }
+ },
+ "suppressionConfig": {
+ "recurrenceType" : "Daily",
+ "schedule": {
+ "startDate": "12/09/2018",
+ "endDate": "12/18/2018",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ },
+ },
+ "description": "Action rule on resource group for daily suppression",
+ "resourceGroup": "alertscorrelationrg",
+ "status": "enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties":{
+ "scope": {
+ "type": "ResourceGroup",
+ "values": ["/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"]
+ },
+ "conditions": {
+ "severity": {
+ "operator": "Equals",
+ "values": [ "Sev0", "Sev2" ]
+ },
+ "monitorService": {
+ "operator": "Equals",
+ "values":[ "Platform", "Application Insights" ]
+ },
+ "monitorCondition": {
+ "operator": "Equals",
+ "values":[ "Fired" ]
+ },
+ "targetResourceType": {
+ "operator": "NotEquals",
+ "values":[ "Microsoft.Compute/VirtualMachines" ]
+ }
+ },
+ "suppressionConfig": {
+ "recurrenceType" : "Daily",
+ "schedule": {
+ "startDate": "12/09/2018",
+ "endDate": "12/18/2018",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ }
+ },
+ "description": "Action rule on resource group for daily suppression",
+ "resourceGroup": "alertscorrelationrg",
+ "status": "enabled",
+ "startDateTime":"2018-06-12T22:05:09Z",
+ "lastModifiedDateTime":"2018-06-12T22:05:09Z",
+ "createdUserName":"abc@microsoft.com",
+ "lastModifiedUserName":"xyz@microsoft.com"
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type":"Microsoft.AlertsManagement/actionRules",
+ "name":"DailySuppression",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_Delete.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_Delete.json
new file mode 100644
index 000000000000..c172fa0febef
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2018-11-02-privatepreview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroup": "alertscorrelationrg",
+ "actionRuleName": "DailySuppression",
+ },
+ "responses": {
+ "200": {
+ "body": true
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_GetById.json
new file mode 100644
index 000000000000..8f71d7768461
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_GetById.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2018-11-02-privatepreview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroup": "alertscorrelationrg",
+ "actionRuleName": "DailySuppression"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties":{
+ "scope": {
+ "type": "ResourceGroup",
+ "values": ["/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"]
+ },
+ "conditions": {
+ "severity": {
+ "operator": "Equals",
+ "values": [ "Sev0", "Sev2" ]
+ },
+ "monitorService": {
+ "operator": "Equals",
+ "values":[ "Platform", "Application Insights" ]
+ },
+ "monitorCondition": {
+ "operator": "Equals",
+ "values":[ "Fired" ]
+ },
+ "targetResourceType": {
+ "operator": "NotEquals",
+ "values":[ "Microsoft.Compute/VirtualMachines" ]
+ }
+ },
+ "suppressionConfig": {
+ "recurrenceType" : "Daily",
+ "schedule": {
+ "startDate": "12/09/2018",
+ "endDate": "12/18/2018",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ }
+ },
+ "description": "Action rule on resource group for daily suppression",
+ "resourceGroup": "alertscorrelationrg",
+ "status": "enabled",
+ "createdAt":"2018-06-12T22:05:09Z",
+ "lastModifiedAt":"2018-06-12T22:05:09Z",
+ "createdBy":"abc@microsoft.com",
+ "lastModifiedBy":"xyz@microsoft.com"
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type":"Microsoft.AlertsManagement/actionRules",
+ "name":"DailySuppression",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_List_ResourceGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_List_ResourceGroup.json
new file mode 100644
index 000000000000..94d0c89ad3bf
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_List_ResourceGroup.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2018-11-02-privatepreview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroup": "alertscorrelationrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules?api-version=2018-11-02-privatepreview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1",
+ "value": [
+ {
+ "properties":{
+ "scope": {
+ "type": "ResourceGroup",
+ "values": ["/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"]
+ },
+ "conditions": {
+ "severity": {
+ "operator": "Equals",
+ "values": [ "Sev0", "Sev2" ]
+ },
+ "monitorService": {
+ "operator": "Equals",
+ "values":[ "Platform", "Application Insights" ]
+ },
+ "targetResourceType": {
+ "operator": "NotEquals",
+ "values":[ "Microsoft.Compute/VirtualMachines" ]
+ }
+ },
+ "suppressionConfig": {
+ "recurrenceType" : "Daily",
+ "schedule": {
+ "startDate": "12/09/2018",
+ "endDate": "12/18/2018",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ }
+ },
+ "description": "Action rule on resource group for daily suppression",
+ "resourceGroup": "alertscorrelationrg",
+ "status": "enabled",
+ "createdAt":"2018-06-12T22:05:09Z",
+ "lastModifiedAt":"2018-06-12T22:05:09Z",
+ "createdBy":"abc@microsoft.com",
+ "lastModifiedBy":"xyz@microsoft.com"
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type":"Microsoft.AlertsManagement/actionRules",
+ "name":"DailySuppression",
+ "location": "Global",
+ "tags": {}
+ },
+ {
+ "properties":{
+ "scope": {
+ "type": "Resource",
+ "values": ["/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource"]
+ },
+ "conditions": {
+ "monitorCondition": {
+ "operator": "Equals",
+ "values": [ "Fired" ]
+ },
+ "description": {
+ "operator": "Contains",
+ "values":[ "Percentage CPU greater than 80%", "Metric alert on resource foo" ]
+ },
+ "targetResource": {
+ "operator": "DoesNotContain",
+ "values":[ "testresource", "foo" ]
+ }
+ },
+ "suppressionConfig": {
+ "recurrenceType" : "Weekly",
+ "schedule": {
+ "startDate": "12/09/2018",
+ "endDate": "12/18/2018",
+ "startTime": "19:00:00",
+ "endTime": "10:00:00",
+ "recurrenceValues": [ 0, 3, 6 ]
+ }
+ },
+ "description": "Action rule on resource group for weekly suppression",
+ "resourceGroup": "alertscorrelationrg",
+ "status": "enabled",
+ "createdAt":"2018-06-12T22:05:09Z",
+ "lastModifiedAt":"2018-06-12T22:05:09Z",
+ "createdBy":"abc@microsoft.com",
+ "lastModifiedBy":"xyz@microsoft.com"
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
+ "type":"Microsoft.AlertsManagement/actionRules",
+ "name":"WeeklySuppression",
+ "location": "Global",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_List_Subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_List_Subscription.json
new file mode 100644
index 000000000000..5d5bbf2be548
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_List_Subscription.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2018-11-02-privatepreview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/actionRules?api-version=2018-11-02-privatepreview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1",
+ "value": [
+ {
+ "properties":{
+ "scope": {
+ "type": "ResourceGroup",
+ "values": ["/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"]
+ },
+ "conditions": {
+ "severity": {
+ "operator": "Equals",
+ "values": [ "Sev0", "Sev2" ]
+ },
+ "monitorService": {
+ "operator": "Equals",
+ "values":[ "Platform", "Application Insights" ]
+ },
+ "targetResourceType": {
+ "operator": "NotEquals",
+ "values":[ "Microsoft.Compute/VirtualMachines" ]
+ }
+ },
+ "suppressionConfig": {
+ "recurrenceType" : "Daily",
+ "schedule": {
+ "startDate": "12/09/2018",
+ "endDate": "12/18/2018",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ }
+ },
+ "description": "Action rule on resource group for daily suppression",
+ "resourceGroup": "alertscorrelationrg",
+ "status": "enabled",
+ "createdAt":"2018-06-12T22:05:09Z",
+ "lastModifiedAt":"2018-06-12T22:05:09Z",
+ "createdBy":"abc@microsoft.com",
+ "lastModifiedBy":"xyz@microsoft.com"
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type":"Microsoft.AlertsManagement/actionRules",
+ "name":"DailySuppression",
+ "location": "Global",
+ "tags": {}
+ },
+ {
+ "properties":{
+ "scope": {
+ "type": "Resource",
+ "values": ["/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource"]
+ },
+ "conditions": {
+ "monitorCondition": {
+ "operator": "Equals",
+ "values": [ "Fired" ]
+ },
+ "description": {
+ "operator": "Contains",
+ "values":[ "Percentage CPU greater than 80%", "Metric alert on resource foo" ]
+ }
+ },
+ "suppressionConfig": {
+ "recurrenceType" : "Weekly",
+ "schedule": {
+ "startDate": "12/09/2018",
+ "endDate": "12/18/2018",
+ "startTime": "19:00:00",
+ "endTime": "10:00:00",
+ "recurrenceValues": [ 0, 3, 6 ]
+ }
+ },
+ "description": "Action rule on resource group for weekly suppression",
+ "resourceGroup": "alertsrg",
+ "status": "enabled",
+ "createdAt":"2018-06-12T22:05:09Z",
+ "lastModifiedAt":"2018-06-12T22:05:09Z",
+ "createdBy":"abc@microsoft.com",
+ "lastModifiedBy":"xyz@microsoft.com"
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
+ "type":"Microsoft.AlertsManagement/actionRules",
+ "name":"WeeklySuppression",
+ "location": "Global",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_Patch.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_Patch.json
new file mode 100644
index 000000000000..52adeedd67e9
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/ActionRules_Patch.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2018-11-02-privatepreview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroup": "alertscorrelationrg",
+ "actionRuleName": "DailySuppression",
+ "actionRulePatch": {
+ "tags": { "key1": "value1", "key2": "value2" },
+ "properties": {
+ "status": "disabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties":{
+ "scope": {
+ "type": "ResourceGroup",
+ "values": ["/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"]
+ },
+ "conditions": {
+ "severity": {
+ "operator": "Equals",
+ "values": [ "Sev0", "Sev2" ]
+ },
+ "monitorService": {
+ "operator": "Equals",
+ "values":[ "Platform", "Application Insights" ]
+ },
+ "targetResourceType": {
+ "operator": "NotEquals",
+ "values":[ "Microsoft.Compute/VirtualMachines" ]
+ }
+ },
+ "suppressionConfig": {
+ "recurrenceType" : "Daily",
+ "schedule": {
+ "startDate": "12/09/2018",
+ "endDate": "12/18/2018",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ }
+ },
+ "description": "Action rule on resource group for daily suppression",
+ "resourceGroup": "alertscorrelationrg",
+ "status": "disabled",
+ "createdAt":"2018-06-12T22:05:09Z",
+ "lastModifiedAt":"2018-06-12T22:05:09Z",
+ "createdBy":"abc@microsoft.com",
+ "lastModifiedBy":"xyz@microsoft.com"
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type":"Microsoft.AlertsManagement/actionRules",
+ "name":"DailySuppression",
+ "location": "Global",
+ "tags": { "key1": "value1", "key2": "value2" }
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_ChangeState.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_ChangeState.json
new file mode 100644
index 000000000000..b77a6029fb67
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_ChangeState.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-05-05-preview",
+ "subscriptionId": "9e261de7-c804-4b9d-9ebf-6f50fe350a9a",
+ "alertId": "66114d64-d9d9-478b-95c9-b789d6502100",
+ "newState": "Acknowledged",
+ "body":{
+ "comments" : "Acknowledging alert"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "severity":"Sev3",
+ "signalType":"Log",
+ "alertState":"New",
+ "monitorCondition":"Fired",
+ "monitorService":"Application Insights",
+ "targetResourceName":"alertscorrelationworkerrole_int",
+ "targetResourceGroup":"alertscorrelationrg",
+ "targetResource":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
+ "targetResourceType":"components",
+ "sourceCreatedId":"57c049b5-9654-4bb4-a443-3bac3f725d34",
+ "smartGroupId":"a808445e-bb38-4751-85c2-1b109ccc1059",
+ "smartGroupingReason":"Alerts that frequently occur together have been grouped.",
+ "startDateTime":"2018-06-12T22:05:09Z",
+ "lastModifiedDateTime":"2018-06-12T22:05:09Z",
+ "lastModifiedUserName":"vikramm@microsoft.com",
+ "payload":{}
+ },
+ "id":"/subscriptions/9e261de7-c804-4b9d-9ebf-6f50fe350a9a/providers/Microsoft.AlertsManagement/alerts/66114d64-d9d9-478b-95c9-b789d6502100",
+ "type":"Microsoft.AlertsManagement/alerts",
+ "name":"cpu alert"
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_GetById.json
new file mode 100644
index 000000000000..e86cf49039d2
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_GetById.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2018-05-05-preview",
+ "subscriptionId": "9e261de7-c804-4b9d-9ebf-6f50fe350a9a",
+ "alertId": "66114d64-d9d9-478b-95c9-b789d6502100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+
+ "properties":{
+ "severity":"Sev3",
+ "signalType":"Log",
+ "alertState":"New",
+ "monitorCondition":"Fired",
+ "monitorService":"Application Insights",
+ "targetResourceName":"alertscorrelationworkerrole_int",
+ "targetResourceGroup":"alertscorrelationrg",
+ "targetResource":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
+ "targetResourceType":"components",
+ "sourceCreatedId":"57c049b5-9654-4bb4-a443-3bac3f725d34",
+ "smartGroupId":"a808445e-bb38-4751-85c2-1b109ccc1059",
+ "smartGroupingReason":"Alerts that frequently occur together have been grouped.",
+ "startDateTime":"2018-06-12T22:05:09Z",
+ "lastModifiedDateTime":"2018-06-12T22:05:09Z",
+ "lastModifiedUserName":"System",
+ "payload":{}
+ },
+ "id":"/subscriptions/9e261de7-c804-4b9d-9ebf-6f50fe350a9a/providers/Microsoft.AlertsManagement/alerts/66114d64-d9d9-478b-95c9-b789d6502100",
+ "type":"Microsoft.AlertsManagement/alerts",
+ "name":"cpu alert"
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_History.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_History.json
new file mode 100644
index 000000000000..2305f2aa9598
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_History.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2018-05-05-preview",
+ "subscriptionId": "9e261de7-c804-4b9d-9ebf-6f50fe350a9a",
+ "alertId": "66114d64-d9d9-478b-95c9-b789d6502100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties":{
+ "alertId":"66114d64-d9d9-478b-95c9-b789d6502100",
+ "modifications":[
+ {
+ "modificationEvent":"StateChange",
+ "oldValue":"New",
+ "newValue":"Acknowledged",
+ "modifiedAt":"2018-06-13T06:14:15.7378737Z",
+ "modifiedBy":"vikramm@microsoft.com",
+ "comments":"Acknowledging alert",
+ "description":"State changed from 'New' to 'Acknowledged'"
+ },
+ {
+ "modificationEvent":"AlertCreated",
+ "oldValue":"",
+ "newValue":"",
+ "modifiedAt":"2018-06-13T06:09:01Z",
+ "modifiedBy":"System",
+ "comments":"",
+ "description":"New Alert Object is created"
+ }
+ ]
+ },
+ "id":"/subscriptions/9e261de7-c804-4b9d-9ebf-6f50fe350a9a/providers/Microsoft.AlertsManagement/alerts/66114d64-d9d9-478b-95c9-b789d6502100/history/default",
+ "type":"Microsoft.AlertsManagement/alerts",
+ "name":"CPU Alert"
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_List.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_List.json
new file mode 100644
index 000000000000..ae3b603b6b98
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_List.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2018-05-05-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink":"https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/alerts?api-version=2018-05-05-preview&timeRange=1d&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1",
+ "value": [
+ {
+ "properties":{
+ "severity":"Sev3",
+ "signalType":"Log",
+ "alertState":"New",
+ "monitorCondition":"Fired",
+ "monitorService":"Application Insights",
+ "targetResourceName":"alertscorrelationworkerrole_int",
+ "targetResourceGroup":"alertscorrelationrg",
+ "targetResource":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
+ "targetResourceType":"components",
+ "sourceCreatedId":"57c049b5-9654-4bb4-a443-3bac3f725d34",
+ "smartGroupId":"a808445e-bb38-4751-85c2-1b109ccc1059",
+ "smartGroupingReason":"Alerts that frequently occur together have been grouped.",
+ "startDateTime":"2018-06-12T22:05:09Z",
+ "lastModifiedDateTime":"2018-06-12T22:05:09Z",
+ "lastModifiedUserName":"System",
+ "payload":{}
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/alerts/66114d64-d9d9-478b-95c9-b789d6502100",
+ "type":"Microsoft.AlertsManagement/alerts",
+ "name":"cpu alert"
+ },
+ {
+ "properties":{
+ "severity":"Sev3",
+ "signalType":"Log",
+ "alertState":"New",
+ "monitorCondition":"Fired",
+ "monitorService":"Application Insights",
+ "targetResourceName":"alertscorrelationworkerrole_int",
+ "targetResourceGroup":"alertscorrelationrg",
+ "targetResource":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
+ "targetResourceType":"components",
+ "sourceCreatedId":"e1c5c974-b796-46a1-bb59-740eeca48c15",
+ "smartGroupId":"a808445e-bb38-4751-85c2-1b109ccc1059",
+ "smartGroupingReason":"Alerts that frequently occur together have been grouped.",
+ "startDateTime":"2018-06-12T21:40:09Z",
+ "lastModifiedDateTime":"2018-06-12T21:40:09Z",
+ "lastModifiedUserName":"System",
+ "payload":{}
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/alerts/239f0e9f-9871-4c8b-a6a2-b893853d1066",
+ "type":"Microsoft.AlertsManagement/alerts",
+ "name":"cpu alert"
+ }
+ ]
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_Summary.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_Summary.json
new file mode 100644
index 000000000000..06f70e61e736
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/Alerts_Summary.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2018-05-05-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties":{
+ "total":885,
+ "smartGroupsCount":2,
+ "summaryByState":{
+ "new":884,
+ "acknowledged":1,
+ "closed":0
+ },
+ "summaryBySeverity":{
+ "sev0":{
+ "new":286,
+ "acknowledged":0,
+ "closed":0
+ },
+ "sev1":{
+ "new":309,
+ "acknowledged":0,
+ "closed":0
+ },
+ "sev2":{
+ "new":0,
+ "acknowledged":0,
+ "closed":0
+ },
+ "sev3":{
+ "new":289,
+ "acknowledged":1,
+ "closed":0
+ },
+ "sev4":{
+ "new":0,
+ "acknowledged":0,
+ "closed":0
+ }
+ },
+ "summaryBySeverityAndMonitorCondition":{
+ "sev0":{
+ "fired":286,
+ "resolved":0
+ },
+ "sev1":{
+ "fired":309,
+ "resolved":0
+ },
+ "sev2":{
+ "fired":0,
+ "resolved":0
+ },
+ "sev3":{
+ "fired":290,
+ "resolved":0
+ },
+ "sev4":{
+ "fired":0,
+ "resolved":0
+ }
+ },
+ "summaryByMonitorService":{
+ "platform":0,
+ "application Insights":290,
+ "log Analytics":595,
+ "zabbix":0,
+ "scom":0,
+ "nagios":0,
+ "infrastructure Insights":0,
+ "activityLog Administrative":0,
+ "activityLog Security":0,
+ "activityLog Recommendation":0,
+ "activityLog Policy":0,
+ "activityLog Autoscale":0,
+ "serviceHealth":0,
+ "smartDetector":0
+ }
+ },
+ "id":"/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/alertsSummary/current",
+ "type":"Microsoft.AlertsManagement/alertsSummary",
+ "name":"current"
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_ChangeState.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_ChangeState.json
new file mode 100644
index 000000000000..f620cdb8fad5
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_ChangeState.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2018-05-05-preview",
+ "subscriptionId": "dd91de05-d791-4ceb-b6dc-988682dc7d72",
+ "smartGroupId": "a808445e-bb38-4751-85c2-1b109ccc1059",
+ "newState": "Acknowledged",
+ "body":{
+ "comments" : "Acknowledging smart group"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties":{
+ "alertsCount":1942,
+ "smartGroupState":"Acknowledged",
+ "severity":"Sev3",
+ "startDateTime":"2018-06-06T12:35:09Z",
+ "lastModifiedDateTime":"2018-06-13T06:30:09Z",
+ "lastModifiedUserName":"System",
+ "resources":[
+ {
+ "name":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
+ "count":1942
+ }
+ ],
+ "resourceTypes":[
+ {
+ "name":"components",
+ "count":1942
+ }
+ ],
+ "resourceGroups":[
+ {
+ "name":"alertscorrelationrg",
+ "count":1942
+ }
+ ],
+ "monitorServices":[
+ {
+ "name":"Application Insights",
+ "count":1942
+ }
+ ],
+ "monitorConditions":[
+ {
+ "name":"Fired",
+ "count":1942
+ }
+ ],
+ "alertStates":[
+ {
+ "name":"New",
+ "count":1941
+ },
+ {
+ "name":"Acknowledged",
+ "count":1
+ }
+ ],
+ "alertSeverities":[
+ {
+ "name":"Sev3",
+ "count":1942
+ }
+ ]
+ },
+ "id":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059",
+ "type":"Microsoft.AlertsManagement/smartGroups",
+ "name":"cpu alert"
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_GetById.json
new file mode 100644
index 000000000000..41967911e018
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_GetById.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2018-05-05-preview",
+ "subscriptionId": "9e261de7-c804-4b9d-9ebf-6f50fe350a9a",
+ "smartGroupId": "603675da-9851-4b26-854a-49fc53d32715"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties":{
+ "alertsCount":1942,
+ "smartGroupState":"New",
+ "severity":"Sev3",
+ "startDateTime":"2018-06-06T12:35:09Z",
+ "lastModifiedDateTime":"2018-06-13T06:30:09Z",
+ "lastModifiedUserName":"System",
+ "resources":[
+ {
+ "name":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
+ "count":1942
+ }
+ ],
+ "resourceTypes":[
+ {
+ "name":"components",
+ "count":1942
+ }
+ ],
+ "resourceGroups":[
+ {
+ "name":"alertscorrelationrg",
+ "count":1942
+ }
+ ],
+ "monitorServices":[
+ {
+ "name":"Application Insights",
+ "count":1942
+ }
+ ],
+ "monitorConditions":[
+ {
+ "name":"Fired",
+ "count":1942
+ }
+ ],
+ "alertStates":[
+ {
+ "name":"New",
+ "count":1941
+ },
+ {
+ "name":"Acknowledged",
+ "count":1
+ }
+ ],
+ "alertSeverities":[
+ {
+ "name":"Sev3",
+ "count":1942
+ }
+ ]
+ },
+ "id":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059",
+ "type":"Microsoft.AlertsManagement/smartGroups",
+ "name":"cpu alert"
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_History.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_History.json
new file mode 100644
index 000000000000..8388cabc6940
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_History.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2018-05-05-preview",
+ "subscriptionId": "9e261de7-c804-4b9d-9ebf-6f50fe350a9a",
+ "smartGroupId": "a808445e-bb38-4751-85c2-1b109ccc1059"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties":{
+ "smartGroupId":"a808445e-bb38-4751-85c2-1b109ccc1059",
+ "modifications":[
+ {
+ "modificationEvent":"SmartGroupCreated",
+ "oldValue":"",
+ "newValue":"",
+ "modifiedAt":"2018-06-06T12:35:09Z",
+ "modifiedBy":"System",
+ "comments":"",
+ "description":"New Smart Group is created"
+ }
+ ]
+ },
+ "id":"/subscriptions/9e261de7-c804-4b9d-9ebf-6f50fe350a9a/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059/history/default",
+ "type":"Microsoft.AlertsManagement/alerts",
+ "name":"cpu alert"
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_List.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_List.json
new file mode 100644
index 000000000000..582e9b137ec5
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/examples/SmartGroups_List.json
@@ -0,0 +1,146 @@
+{
+ "parameters": {
+ "api-version": "2018-05-05-preview",
+ "subscriptionId": "dd91de05-d791-4ceb-b6dc-988682dc7d72"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "",
+ "value": [
+ {
+ "properties":{
+ "alertsCount":1942,
+ "smartGroupState":"New",
+ "severity":"Sev3",
+ "startDateTime":"2018-06-06T12:35:09Z",
+ "lastModifiedDateTime":"2018-06-13T06:30:09Z",
+ "lastModifiedUserName":"System",
+ "resources":[
+ {
+ "name":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/alertscorrelationrg/providers/microsoft.insights/components/alertscorrelationworkerrole_int",
+ "count":1942
+ }
+ ],
+ "resourceTypes":[
+ {
+ "name":"components",
+ "count":1942
+ }
+ ],
+ "resourceGroups":[
+ {
+ "name":"alertscorrelationrg",
+ "count":1942
+ }
+ ],
+ "monitorServices":[
+ {
+ "name":"Application Insights",
+ "count":1942
+ }
+ ],
+ "monitorConditions":[
+ {
+ "name":"Fired",
+ "count":1942
+ }
+ ],
+ "alertStates":[
+ {
+ "name":"New",
+ "count":1941
+ },
+ {
+ "name":"Acknowledged",
+ "count":1
+ }
+ ],
+ "alertSeverities":[
+ {
+ "name":"Sev3",
+ "count":1942
+ }
+ ]
+ },
+ "id":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/a808445e-bb38-4751-85c2-1b109ccc1059",
+ "type":"Microsoft.AlertsManagement/smartGroups",
+ "name":"cpu alert"
+ },
+ {
+ "properties":{
+ "alertsCount":15374,
+ "smartGroupState":"Acknowledged",
+ "severity":"Sev0",
+ "startDateTime":"2018-05-17T10:18:44.2020997Z",
+ "lastModifiedDateTime":"2018-06-13T06:29:01Z",
+ "lastModifiedUserName":"System",
+ "resources":[
+ {
+ "name":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/resourcegroups/mms-eus/providers/microsoft.operationalinsights/workspaces/alertsint",
+ "count":15374
+ }
+ ],
+ "resourceTypes":[
+ {
+ "name":"microsoft.operationalinsights/workspaces",
+ "count":6912
+ },
+ {
+ "name":"workspaces",
+ "count":8462
+ }
+ ],
+ "resourceGroups":[
+ {
+ "name":"mms-eus",
+ "count":15374
+ }
+ ],
+ "monitorServices":[
+ {
+ "name":"Log Analytics",
+ "count":13911
+ }
+ ],
+ "monitorConditions":[
+ {
+ "name":"Fired",
+ "count":15374
+ }
+ ],
+ "alertStates":[
+ {
+ "name":"New",
+ "count":15358
+ },
+ {
+ "name":"Acknowledged",
+ "count":12
+ },
+ {
+ "name":"Closed",
+ "count":4
+ }
+ ],
+ "alertSeverities":[
+ {
+ "name":"Sev0",
+ "count":6984
+ },
+ {
+ "name":"Sev1",
+ "count":6927
+ }
+ ]
+ },
+ "id":"/subscriptions/dd91de05-d791-4ceb-b6dc-988682dc7d72/providers/Microsoft.AlertsManagement/smartGroups/01114c7c-769f-4fd4-b6fa-ab77693b83cd",
+ "type":"Microsoft.AlertsManagement/smartGroups",
+ "name":"CPU Alert"
+ }
+ ]
+ }
+ }
+ }
+}
+
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
index be39f0573a39..11257261b16a 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
@@ -176,7 +176,7 @@
},
"x-ms-examples": {
"GetById": {
- "$ref": "./examples/Alerts_GetbyId.json"
+ "$ref": "./examples/Alerts_GetById.json"
}
}
}
@@ -437,7 +437,7 @@
},
"x-ms-examples": {
"Get": {
- "$ref": "./examples/SmartGroups_GetbyId.json"
+ "$ref": "./examples/SmartGroups_GetById.json"
}
}
}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/Alerts_GetbyId.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/Alerts_GetById.json
similarity index 100%
rename from specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/Alerts_GetbyId.json
rename to specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/Alerts_GetById.json
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/SmartGroups_GetbyId.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/SmartGroups_GetById.json
similarity index 100%
rename from specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/SmartGroups_GetbyId.json
rename to specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/examples/SmartGroups_GetById.json
diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md
index dcc1aebce0dd..162e94311ba5 100644
--- a/specification/alertsmanagement/resource-manager/readme.md
+++ b/specification/alertsmanagement/resource-manager/readme.md
@@ -2,7 +2,7 @@
> see https://aka.ms/autorest
-This is the AutoRest configuration file for AlerManagement.
+This is the AutoRest configuration file for AlertManagement.
---
diff --git a/specification/analysisservices/resource-manager/readme.go.md b/specification/analysisservices/resource-manager/readme.go.md
index aedfd776f799..3fda4eff5122 100644
--- a/specification/analysisservices/resource-manager/readme.go.md
+++ b/specification/analysisservices/resource-manager/readme.go.md
@@ -20,7 +20,7 @@ batch:
### Tag: package-2017-08 and go
-These settings apply only when `--tag=package-2017-08 --go` is specifined on the command line.
+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)
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
index e326f354e302..671f8b4cc8ea 100644
--- 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
@@ -237,8 +237,8 @@
"operationId": "PolicySnippets_List",
"description": "Lists all policy snippets.",
"x-ms-examples": {
- "ApiManagementListPolicysnippets": {
- "$ref": "./examples/ApiManagementListPolicysnippets.json"
+ "ApiManagementListPolicySnippets": {
+ "$ref": "./examples/ApiManagementListPolicySnippets.json"
}
},
"parameters": [
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
index 224184a24901..da67aa4c12c4 100644
--- 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
@@ -50,8 +50,8 @@
"operationId": "AuthorizationServer_List",
"description": "Lists a collection of authorization servers defined within a service instance.",
"x-ms-examples": {
- "ApiManagementListAuthorizationservers": {
- "$ref": "./examples/ApiManagementListAuthorizationservers.json"
+ "ApiManagementListAuthorizationServers": {
+ "$ref": "./examples/ApiManagementListAuthorizationServers.json"
}
},
"parameters": [
@@ -94,8 +94,8 @@
"operationId": "AuthorizationServer_Get",
"description": "Gets the details of the authorization server specified by its identifier.",
"x-ms-examples": {
- "ApiManagementGetAuthorizationservers": {
- "$ref": "./examples/ApiManagementGetAuthorizationservers.json"
+ "ApiManagementGetAuthorizationServers": {
+ "$ref": "./examples/ApiManagementGetAuthorizationServers.json"
}
},
"parameters": [
@@ -134,8 +134,8 @@
"operationId": "AuthorizationServer_CreateOrUpdate",
"description": "Creates new authorization server or updates an existing authorization server.",
"x-ms-examples": {
- "ApiManagementPutAuthorizationservers": {
- "$ref": "./examples/ApiManagementPutAuthorizationservers.json"
+ "ApiManagementPutAuthorizationServers": {
+ "$ref": "./examples/ApiManagementPutAuthorizationServers.json"
}
},
"parameters": [
@@ -183,8 +183,8 @@
"operationId": "AuthorizationServer_Update",
"description": "Updates the details of the authorization server specified by its identifier.",
"x-ms-examples": {
- "ApiManagementPatchAuthorizationservers": {
- "$ref": "./examples/ApiManagementPatchAuthorizationservers.json"
+ "ApiManagementPatchAuthorizationServers": {
+ "$ref": "./examples/ApiManagementPatchAuthorizationServers.json"
}
},
"parameters": [
@@ -230,8 +230,8 @@
"operationId": "AuthorizationServer_Delete",
"description": "Deletes specific authorization server instance.",
"x-ms-examples": {
- "ApiManagementDeleteAuthorizationservers": {
- "$ref": "./examples/ApiManagementDeleteAuthorizationservers.json"
+ "ApiManagementDeleteAuthorizationServers": {
+ "$ref": "./examples/ApiManagementDeleteAuthorizationServers.json"
}
},
"parameters": [
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
index 07150f47dbd0..fa9521941ea9 100644
--- 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
@@ -50,8 +50,8 @@
"operationId": "IdentityProvider_List",
"description": "Lists a collection of Identity Provider configured in the specified service instance.",
"x-ms-examples": {
- "ApiManagementListIdentityproviders": {
- "$ref": "./examples/ApiManagementListIdentityproviders.json"
+ "ApiManagementListIdentityProviders": {
+ "$ref": "./examples/ApiManagementListIdentityProviders.json"
}
},
"externalDocs": {
@@ -89,8 +89,8 @@
"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"
+ "ApiManagementGetIdentityProviders": {
+ "$ref": "./examples/ApiManagementGetIdentityProviders.json"
}
},
"parameters": [
@@ -129,8 +129,8 @@
"operationId": "IdentityProvider_CreateOrUpdate",
"description": "Creates or Updates the IdentityProvider configuration.",
"x-ms-examples": {
- "ApiManagementPutIdentityproviders": {
- "$ref": "./examples/ApiManagementPutIdentityproviders.json"
+ "ApiManagementPutIdentityProviders": {
+ "$ref": "./examples/ApiManagementPutIdentityProviders.json"
}
},
"parameters": [
@@ -178,8 +178,8 @@
"operationId": "IdentityProvider_Update",
"description": "Updates an existing IdentityProvider configuration.",
"x-ms-examples": {
- "ApiManagementPatchIdentityproviders": {
- "$ref": "./examples/ApiManagementPatchIdentityproviders.json"
+ "ApiManagementPatchIdentityProviders": {
+ "$ref": "./examples/ApiManagementPatchIdentityProviders.json"
}
},
"parameters": [
@@ -225,8 +225,8 @@
"operationId": "IdentityProvider_Delete",
"description": "Deletes the specified identity provider configuration.",
"x-ms-examples": {
- "ApiManagementDeleteIdentityproviders": {
- "$ref": "./examples/ApiManagementDeleteIdentityproviders.json"
+ "ApiManagementDeleteIdentityProviders": {
+ "$ref": "./examples/ApiManagementDeleteIdentityProviders.json"
}
},
"parameters": [
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
index 3320105c8d31..dfe8feb91162 100644
--- 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
@@ -50,8 +50,8 @@
"operationId": "SignInSettings_Get",
"description": "Get Sign-In settings.",
"x-ms-examples": {
- "ApiManagementGetPortalSettingSignIn": {
- "$ref": "./examples/ApiManagementGetPortalSettingSignIn.json"
+ "ApiManagementGetPortalSettingsSignIn": {
+ "$ref": "./examples/ApiManagementGetPortalSettingsSignIn.json"
}
},
"parameters": [
@@ -242,8 +242,8 @@
"operationId": "SignUpSettings_CreateOrUpdate",
"description": "Create or Update Sign-Up settings.",
"x-ms-examples": {
- "ApiManagementPutPortalsettingsSignUp": {
- "$ref": "./examples/ApiManagementPutPortalsettingsSignUp.json"
+ "ApiManagementPutPortalSettingsSignUp": {
+ "$ref": "./examples/ApiManagementPutPortalSettingsSignUp.json"
}
},
"parameters": [
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
index d11185157a7d..c62d4ceedd3d 100644
--- 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
@@ -300,8 +300,8 @@
"operationId": "Subscription_RegeneratePrimaryKey",
"description": "Regenerates primary key of existing subscription of the API Management service instance.",
"x-ms-examples": {
- "ApiManagementPostSubscriptionsRegenerateprimarykey": {
- "$ref": "./examples/ApiManagementPostSubscriptionsRegenerateprimarykey.json"
+ "ApiManagementPostSubscriptionsRegeneratePrimaryKey": {
+ "$ref": "./examples/ApiManagementPostSubscriptionsRegeneratePrimaryKey.json"
}
},
"parameters": [
@@ -333,8 +333,8 @@
"operationId": "Subscription_RegenerateSecondaryKey",
"description": "Regenerates secondary key of existing subscription of the API Management service instance.",
"x-ms-examples": {
- "ApiManagementPostSubscriptionsRegeneratesecondarykey": {
- "$ref": "./examples/ApiManagementPostSubscriptionsRegeneratesecondarykey.json"
+ "ApiManagementPostSubscriptionsRegenerateSecondaryKey": {
+ "$ref": "./examples/ApiManagementPostSubscriptionsRegenerateSecondaryKey.json"
}
},
"parameters": [
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
index 7371f669fb9d..cf300c03c5e4 100644
--- 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
@@ -133,8 +133,8 @@
"operationId": "TenantAccess_RegeneratePrimaryKey",
"description": "Regenerate primary access key.",
"x-ms-examples": {
- "ApiManagementPostTenantRegenerateprimarykey": {
- "$ref": "./examples/ApiManagementPostTenantRegenerateprimarykey.json"
+ "ApiManagementPostTenantRegeneratePrimaryKey": {
+ "$ref": "./examples/ApiManagementPostTenantRegeneratePrimaryKey.json"
}
},
"parameters": [
@@ -166,8 +166,8 @@
"operationId": "TenantAccess_RegenerateSecondaryKey",
"description": "Regenerate secondary access key.",
"x-ms-examples": {
- "ApiManagementPostTenantRegeneratesecondarykey": {
- "$ref": "./examples/ApiManagementPostTenantRegeneratesecondarykey.json"
+ "ApiManagementPostTenantRegenerateSecondaryKey": {
+ "$ref": "./examples/ApiManagementPostTenantRegenerateSecondaryKey.json"
}
},
"parameters": [
@@ -462,8 +462,8 @@
"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"
+ "ApiManagementListTenantSyncState": {
+ "$ref": "./examples/ApiManagementListTenantSyncState.json"
}
},
"parameters": [
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
index b787439ee50d..ab5849403bc7 100644
--- 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
@@ -300,8 +300,8 @@
"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"
+ "ApiManagementPostUsersGenerateSsoUrl": {
+ "$ref": "./examples/ApiManagementPostUsersGenerateSsoUrl.json"
}
},
"parameters": [
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteAuthorizationservers.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteAuthorizationServers.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteIdentityproviders.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementDeleteIdentityProviders.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetAuthorizationservers.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetAuthorizationServers.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetIdentityproviders.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetIdentityProviders.json
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/ApiManagementGetPortalSettingsSignIn.json
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingSignIn.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementGetPortalSettingsSignIn.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListAuthorizationservers.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListAuthorizationServers.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListIdentityproviders.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListIdentityProviders.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListPolicysnippets.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListPolicySnippets.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTenantSyncstate.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementListTenantSyncState.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchAuthorizationservers.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchAuthorizationServers.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchIdentityproviders.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPatchIdentityProviders.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegenerateprimarykey.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegeneratePrimaryKey.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegeneratesecondarykey.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostSubscriptionsRegenerateSecondaryKey.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegenerateprimarykey.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegeneratePrimaryKey.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegeneratesecondarykey.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostTenantRegenerateSecondaryKey.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostUsersGeneratessourl.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPostUsersGenerateSsoUrl.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutAuthorizationservers.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutAuthorizationServers.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutIdentityproviders.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutIdentityProviders.json
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
similarity index 100%
rename from specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalsettingsSignUp.json
rename to specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/examples/ApiManagementPutPortalSettingsSignUp.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json
index b7ed07c87ee6..e620f8d2aab0 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json
@@ -33,356 +33,7 @@
}
}
},
- "paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies": {
- "get": {
- "tags": [
- "Policy"
- ],
- "operationId": "Policy_ListByService",
- "description": "Lists all the Global Policy definitions of the Api Management service.",
- "x-ms-examples": {
- "ApiManagementListPolicies": {
- "$ref": "./examples/ApiManagementListPolicies.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ServiceNameParameter"
- },
- {
- "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"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of Policy Contracts.",
- "schema": {
- "$ref": "#/definitions/PolicyCollection"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}": {
- "head": {
- "tags": [
- "Policy"
- ],
- "operationId": "Policy_GetEntityTag",
- "description": "Gets the entity state (Etag) version of the Global policy definition in the Api Management service.",
- "x-ms-examples": {
- "ApiManagementHeadPolicy": {
- "$ref": "./examples/ApiManagementHeadPolicy.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "#/parameters/PolicyIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The 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": [
- "Policy"
- ],
- "operationId": "Policy_Get",
- "description": "Get the Global policy definition of the Api Management service.",
- "x-ms-examples": {
- "ApiManagementGetPolicy": {
- "$ref": "./examples/ApiManagementGetPolicy.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "#/parameters/PolicyIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "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": {
- "ApiManagementCreatePolicy": {
- "$ref": "./examples/ApiManagementCreatePolicy.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "#/parameters/PolicyIdParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "schema": {
- "$ref": "#/definitions/PolicyContract"
- },
- "required": true,
- "description": "The policy contents to apply."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "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": {
- "ApiManagementDeletePolicy": {
- "$ref": "./examples/ApiManagementDeletePolicy.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "#/parameters/PolicyIdParameter"
- },
- {
- "$ref": "#/parameters/IfMatchRequiredParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the policy configuration at the Global level."
- },
- "204": {
- "description": "Successfully deleted the policy configuration at the Global level."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets": {
- "get": {
- "tags": [
- "PolicySnippets"
- ],
- "operationId": "PolicySnippets_ListByService",
- "description": "Lists all policy snippets.",
- "x-ms-examples": {
- "ApiManagementListPolicySnippets": {
- "$ref": "./examples/ApiManagementListPolicySnippets.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ServiceNameParameter"
- },
- {
- "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"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Returns an array of Policy Contracts.",
- "schema": {
- "$ref": "#/definitions/PolicySnippetsCollection"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions": {
- "get": {
- "tags": [
- "Regions"
- ],
- "operationId": "Regions_ListByService",
- "description": "Lists all azure regions in which the service exists.",
- "x-ms-examples": {
- "ApiManagementListRegions": {
- "$ref": "./examples/ApiManagementListRegions.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Lists of Regions in which the service is deployed.",
- "schema": {
- "$ref": "#/definitions/RegionListResult"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
+ "paths": {},
"definitions": {
"ErrorFieldContract": {
"properties": {
@@ -403,7 +54,7 @@
},
"ErrorResponse": {
"properties": {
- "error" : {
+ "error": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/ErrorResponseBody",
"description": "Properties of the Error Response."
@@ -431,119 +82,6 @@
},
"description": "Error Body contract."
},
- "PolicyCollection": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PolicyContract"
- },
- "description": "Policy Contract value."
- },
- "nextLink": {
- "type": "string",
- "description": "Next page link if any."
- }
- },
- "description": "The response of the list policy operation."
- },
- "PolicyContract": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/PolicyContractProperties",
- "description": "Properties of the Policy."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "description": "Policy Contract details."
- },
- "PolicyContractProperties": {
- "properties": {
- "policyContent": {
- "type": "string",
- "description": "Json escaped Xml Encoded contents of the Policy."
- },
- "contentFormat": {
- "type": "string",
- "description": "Format of the policyContent.",
- "enum": [
- "xml",
- "xml-link",
- "rawxml",
- "rawxml-link"
- ],
- "x-ms-enum": {
- "name": "PolicyContentFormat",
- "modelAsString": true,
- "values": [
- {
- "value": "xml",
- "description": "The contents are inline and Content type is an XML document."
- },
- {
- "value": "xml-link",
- "description": "The policy XML document is hosted on a http endpoint accessible from the API Management service."
- },
- {
- "value": "rawxml",
- "description": "The contents are inline and Content type is a non XML encoded policy document."
- },
- {
- "value": "rawxml-link",
- "description": "The policy document is not Xml encoded and is hosted on a http endpoint accessible from the API Management service."
- }
- ]
- },
- "default": "xml"
- }
- },
- "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": {
@@ -606,6 +144,43 @@
}
},
"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"
+ },
+ "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": 80,
+ "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"
+ },
"ApiVersionParameter": {
"name": "api-version",
"in": "query",
@@ -613,6 +188,363 @@
"type": "string",
"description": "Version of the API to be used with the client request."
},
+ "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": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachmentIdParameter": {
+ "name": "attachmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Attachment identifier within an Issue. Must be unique in the current Issue.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "AuthenticationServerIdParameter": {
+ "name": "authsid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the authorization server.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "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": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "CacheIdParameter": {
+ "name": "cacheId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the Cache entity. Cache identifier (should be either 'default' or valid Azure region identifier).",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "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": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "CommentIdParameter": {
+ "name": "commentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Comment identifier within an Issue. Must be unique in the current Issue.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "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"
+ },
+ "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": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "EmailParameter": {
+ "name": "email",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Email identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "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"
+ },
+ "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"
+ },
+ "IfMatchOptionalParameter": {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "ETag of the Entity. Not required when creating an entity, but required when updating an entity.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "IfMatchRequiredParameter": {
+ "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"
+ },
+ "IssueIdParameter": {
+ "name": "issueId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Issue identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationNameParameter": {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Location in which the API Management service is deployed. This is one of the Azure Regions like West US, East US, South Central US.",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "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"
+ },
+ "NotificationNameParameter": {
+ "name": "notificationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "RequestPublisherNotificationMessage",
+ "PurchasePublisherNotificationMessage",
+ "NewApplicationNotificationMessage",
+ "BCC",
+ "NewIssuePublisherNotificationMessage",
+ "AccountClosedPublisher",
+ "QuotaLimitApproachingPublisherNotificationMessage"
+ ],
+ "x-ms-enum": {
+ "name": "NotificationName",
+ "modelAsString": true,
+ "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"
+ },
+ "NotifySubscriptionStateChangeParameter": {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Notify change in Subscription State. \n - If false, do not send any email notification for change of state of subscription \n - If true, send email notification of change of state of subscription ",
+ "x-ms-parameter-location": "method"
+ },
+ "OpenIdConnectIdParameter": {
+ "name": "opid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the OpenID Connect Provider.",
+ "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": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "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"
+ },
+ "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"
+ },
+ "PropertyIdParameter": {
+ "name": "propId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the property.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "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"
+ },
+ "ReleaseIdParameter": {
+ "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": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
"ResourceGroupNameParameter": {
"name": "resourceGroupName",
"in": "path",
@@ -621,6 +553,17 @@
"description": "The name of the resource group.",
"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": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
"ServiceNameParameter": {
"name": "serviceName",
"in": "path",
@@ -642,6 +585,16 @@
"minimum": 0,
"x-ms-parameter-location": "method"
},
+ "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"
+ },
"SubscriptionIdParameter": {
"name": "subscriptionId",
"in": "path",
@@ -649,45 +602,64 @@
"type": "string",
"description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
},
- "TopQueryParameter": {
- "name": "$top",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32",
- "description": "Number of records to return.",
- "minimum": 1,
+ "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": 80,
+ "pattern": "^[^*#&+:<>?]+$",
"x-ms-parameter-location": "method"
},
- "PolicyIdParameter": {
- "name": "policyId",
+ "TemplateNameParameter": {
+ "name": "templateName",
"in": "path",
"required": true,
"type": "string",
"enum": [
- "policy"
+ "applicationApprovedNotificationMessage",
+ "accountClosedDeveloper",
+ "quotaLimitApproachingDeveloperNotificationMessage",
+ "newDeveloperNotificationMessage",
+ "emailChangeIdentityDefault",
+ "inviteUserNotificationMessage",
+ "newCommentNotificationMessage",
+ "confirmSignUpIdentityDefault",
+ "newIssueNotificationMessage",
+ "purchaseDeveloperNotificationMessage",
+ "passwordResetIdentityDefault",
+ "passwordResetByAdminNotificationMessage",
+ "rejectDeveloperNotificationMessage",
+ "requestDeveloperNotificationMessage"
],
- "description": "The identifier of the Policy.",
"x-ms-enum": {
- "modelAsString": true,
- "name": "PolicyIdName"
+ "name": "TemplateName",
+ "modelAsString": true
},
+ "description": "Email Template Name Identifier.",
"x-ms-parameter-location": "method"
},
- "IfMatchRequiredParameter": {
- "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",
+ "TopQueryParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to return.",
+ "minimum": 1,
"x-ms-parameter-location": "method"
},
- "IfMatchOptionalParameter": {
- "name": "If-Match",
- "in": "header",
- "required": false,
- "description": "ETag of the Entity. Not required when creating an entity, but required when updating an entity.",
+ "UserIdParameter": {
+ "name": "userId",
+ "in": "path",
+ "required": true,
"type": "string",
+ "description": "User identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
"x-ms-parameter-location": "method"
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json
index 77b2b292b596..a3a79ea8a71f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis": {
"get": {
"tags": [
- "Apis"
+ "Api"
],
"operationId": "Api_ListByService",
"description": "Lists all APIs of the API Management service instance.",
@@ -61,7 +61,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | 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"
@@ -70,18 +70,24 @@
"$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Include tags in the response."
},
{
"name": "expandApiVersionSet",
"in": "query",
- "type": "boolean",
"required": false,
- "default": false,
+ "type": "boolean",
"description": "Include full ApiVersionSet resource in response"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -107,7 +113,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}": {
"head": {
"tags": [
- "Apis"
+ "Api"
],
"operationId": "Api_GetEntityTag",
"description": "Gets the entity state (Etag) version of the API specified by its identifier.",
@@ -124,7 +130,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -153,7 +159,7 @@
},
"get": {
"tags": [
- "Apis"
+ "Api"
],
"operationId": "Api_Get",
"description": "Gets the details of the API specified by its identifier.",
@@ -169,7 +175,9 @@
"application/json",
"application/vnd.sun.wadl+xml",
"application/vnd.swagger.doc+json",
- "application/wsdl+xml"
+ "application/wsdl+xml",
+ "application/vnd.oai.openapi",
+ "application/vnd.oai.openapi+json"
],
"parameters": [
{
@@ -179,7 +187,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -211,11 +219,14 @@
},
"put": {
"tags": [
- "Apis"
+ "Api"
],
"operationId": "Api_CreateOrUpdate",
"description": "Creates new or updates existing specified API of the API Management service instance.",
"x-ms-examples": {
+ "ApiManagementCreateApiUsingOai3Import": {
+ "$ref": "./examples/ApiManagementCreateApiUsingOai3Import.json"
+ },
"ApiManagementCreateApiUsingSwaggerImport": {
"$ref": "./examples/ApiManagementCreateApiUsingSwaggerImport.json"
},
@@ -242,7 +253,9 @@
"application/json",
"application/vnd.sun.wadl+xml",
"application/vnd.swagger.doc+json",
- "application/wsdl+xml"
+ "application/wsdl+xml",
+ "application/vnd.oai.openapi",
+ "application/vnd.oai.openapi+json"
],
"parameters": [
{
@@ -252,7 +265,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"name": "parameters",
@@ -286,6 +299,9 @@
}
}
},
+ "202": {
+ "description": "Request to create or update API was accepted."
+ },
"200": {
"description": "API was successfully updated.",
"schema": {
@@ -304,16 +320,17 @@
"$ref": "./apimanagement.json#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
},
"patch": {
"tags": [
- "Apis"
+ "Api"
],
"operationId": "Api_Update",
"description": "Updates the specified API of the API Management service instance.",
"x-ms-examples": {
- "ApiManagementUpdateApi.json": {
+ "ApiManagementUpdateApi": {
"$ref": "./examples/ApiManagementUpdateApi.json"
}
},
@@ -325,7 +342,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"name": "parameters",
@@ -360,12 +377,12 @@
},
"delete": {
"tags": [
- "Apis"
+ "Api"
],
"operationId": "Api_Delete",
"description": "Deletes the specified API of the API Management service instance.",
"x-ms-examples": {
- "ApiManagementDeleteApi.json": {
+ "ApiManagementDeleteApi": {
"$ref": "./examples/ApiManagementDeleteApi.json"
}
},
@@ -377,7 +394,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"name": "deleteRevisions",
@@ -415,7 +432,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions": {
"get": {
"tags": [
- "Revisions"
+ "ApiRevision"
],
"operationId": "ApiRevisions_List",
"description": "Lists all revisions of an API.",
@@ -432,13 +449,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
"name": "$filter",
@@ -452,6 +463,12 @@
},
{
"$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -477,7 +494,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases": {
"get": {
"tags": [
- "Releases"
+ "ApiRelease"
],
"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.",
@@ -494,26 +511,26 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/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 |\n|notes|ge le eq ne gt lt|substringof contains startswith endswith|"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|notes | 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"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -539,7 +556,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}": {
"head": {
"tags": [
- "Releases"
+ "ApiRelease"
],
"operationId": "ApiRelease_GetEntityTag",
"description": "Returns the etag of an API release.",
@@ -556,21 +573,21 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "#/parameters/ReleaseIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "The operation returns the details of an API Release.",
+ "description": "Gets the entity state (Etag) version of the api release as specified by its identifier.",
"headers": {
"ETag": {
"description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
@@ -588,7 +605,7 @@
},
"get": {
"tags": [
- "Releases"
+ "ApiRelease"
],
"operationId": "ApiRelease_Get",
"description": "Returns the details of an API release.",
@@ -605,16 +622,16 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "#/parameters/ReleaseIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -622,6 +639,12 @@
"description": "The operation returns the details of an API Release.",
"schema": {
"$ref": "#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"default": {
@@ -634,7 +657,7 @@
},
"put": {
"tags": [
- "Releases"
+ "ApiRelease"
],
"operationId": "ApiRelease_Create",
"description": "Creates a new Release for the API.",
@@ -651,16 +674,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "#/parameters/ReleaseIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
},
{
"name": "parameters",
@@ -670,6 +687,15 @@
"$ref": "#/definitions/ApiReleaseContract"
},
"description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -677,16 +703,28 @@
"description": "Release was successfully created.",
"schema": {
"$ref": "#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"200": {
"description": "Release was successfully updated.",
"schema": {
"$ref": "#/definitions/ApiReleaseContract"
+ },
+ "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 release failed.",
+ "description": "Error response describing why the operation failed.",
"schema": {
"$ref": "./apimanagement.json#/definitions/ErrorResponse"
}
@@ -695,7 +733,7 @@
},
"patch": {
"tags": [
- "Releases"
+ "ApiRelease"
],
"operationId": "ApiRelease_Update",
"description": "Updates the details of the release of the API specified by its identifier.",
@@ -712,16 +750,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "#/parameters/ReleaseIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
},
{
"name": "parameters",
@@ -734,11 +766,17 @@
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"204": {
- "description": "The operation was successfully updated."
+ "description": "Release successfully updated"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -750,7 +788,7 @@
},
"delete": {
"tags": [
- "Releases"
+ "ApiRelease"
],
"operationId": "ApiRelease_Delete",
"description": "Deletes the specified release in the API.",
@@ -767,27 +805,27 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
},
{
- "$ref": "#/parameters/ReleaseIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "The release was successfully deleted."
+ "description": "API release successfully removed"
},
"204": {
- "description": "The release was successfully deleted."
+ "description": "API release successfully removed by previous request or does not exist"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -801,7 +839,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations": {
"get": {
"tags": [
- "Operations"
+ "ApiOperation"
],
"operationId": "ApiOperation_ListByApi",
"description": "Lists a collection of the operations for the specified API.",
@@ -818,14 +856,14 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | 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|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -833,6 +871,12 @@
{
"$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
},
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
@@ -863,7 +907,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}": {
"head": {
"tags": [
- "Operations"
+ "ApiOperation"
],
"operationId": "ApiOperation_GetEntityTag",
"description": "Gets the entity state (Etag) version of the API operation specified by its identifier.",
@@ -880,10 +924,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -912,7 +956,7 @@
},
"get": {
"tags": [
- "Operations"
+ "ApiOperation"
],
"operationId": "ApiOperation_Get",
"description": "Gets the details of the API Operation specified by its identifier.",
@@ -920,8 +964,8 @@
"ApiManagementGetApiOperation": {
"$ref": "./examples/ApiManagementGetApiOperation.json"
},
- "ApiManagementGetApiOperationPetstore": {
- "$ref": "./examples/ApiManagementGetApiOperationPetstore.json"
+ "ApiManagementGetApiOperationPetStore": {
+ "$ref": "./examples/ApiManagementGetApiOperationPetStore.json"
}
},
"parameters": [
@@ -932,10 +976,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -967,7 +1011,7 @@
},
"put": {
"tags": [
- "Operations"
+ "ApiOperation"
],
"operationId": "ApiOperation_CreateOrUpdate",
"description": "Creates a new operation in the API or updates an existing one.",
@@ -984,10 +1028,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"name": "parameters",
@@ -1013,12 +1057,24 @@
"description": "Operation was successfully created.",
"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"
+ }
}
},
"200": {
"description": "Operation was successfully updated.",
"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": {
@@ -1031,7 +1087,7 @@
},
"patch": {
"tags": [
- "Operations"
+ "ApiOperation"
],
"operationId": "ApiOperation_Update",
"description": "Updates the details of the operation in the API specified by its identifier.",
@@ -1048,10 +1104,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"name": "parameters",
@@ -1086,7 +1142,7 @@
},
"delete": {
"tags": [
- "Operations"
+ "ApiOperation"
],
"operationId": "ApiOperation_Delete",
"description": "Deletes the specified operation in the API.",
@@ -1103,10 +1159,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -1120,10 +1176,10 @@
],
"responses": {
"200": {
- "description": "The operation was successfully deleted."
+ "description": "API operation successfully removed"
},
"204": {
- "description": "The operation was successfully deleted."
+ "description": "API operation successfully removed by previous request or does not exist"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -1137,7 +1193,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies": {
"get": {
"tags": [
- "ApiOperationPolicies"
+ "ApiOperationPolicy"
],
"operationId": "ApiOperationPolicy_ListByOperation",
"description": "Get the list of policy configuration at the API Operation level.",
@@ -1154,10 +1210,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1170,7 +1226,7 @@
"200": {
"description": "Api Operations Policy Collection.",
"schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyCollection"
+ "$ref": "./apimpolicies.json#/definitions/PolicyCollection"
}
},
"default": {
@@ -1185,7 +1241,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}": {
"head": {
"tags": [
- "ApiOperationPolicies"
+ "ApiOperationPolicy"
],
"operationId": "ApiOperationPolicy_GetEntityTag",
"description": "Gets the entity state (Etag) version of the API operation policy specified by its identifier.",
@@ -1202,10 +1258,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
@@ -1237,7 +1293,7 @@
},
"get": {
"tags": [
- "ApiOperationPolicies"
+ "ApiOperationPolicy"
],
"operationId": "ApiOperationPolicy_Get",
"description": "Get the policy configuration at the API Operation level.",
@@ -1254,10 +1310,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
@@ -1273,7 +1329,7 @@
"200": {
"description": "Api Operation Policy information.",
"schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ "$ref": "./apimpolicies.json#/definitions/PolicyContract"
},
"headers": {
"ETag": {
@@ -1292,7 +1348,7 @@
},
"put": {
"tags": [
- "ApiOperationPolicies"
+ "ApiOperationPolicy"
],
"operationId": "ApiOperationPolicy_CreateOrUpdate",
"description": "Creates or updates policy configuration for the API Operation level.",
@@ -1309,10 +1365,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
@@ -1320,10 +1376,10 @@
{
"name": "parameters",
"in": "body",
+ "required": true,
"schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ "$ref": "./apimpolicies.json#/definitions/PolicyContract"
},
- "required": true,
"description": "The policy contents to apply."
},
{
@@ -1340,13 +1396,25 @@
"201": {
"description": "Api Operation policy configuration was successfully created.",
"schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ "$ref": "./apimpolicies.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"200": {
"description": "Api Operation policy configuration of the tenant was successfully updated.",
"schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ "$ref": "./apimpolicies.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": {
@@ -1359,13 +1427,13 @@
},
"delete": {
"tags": [
- "ApiOperationPolicies"
+ "ApiOperationPolicy"
],
"operationId": "ApiOperationPolicy_Delete",
"description": "Deletes the policy configuration at the Api Operation.",
"x-ms-examples": {
- "ApiManagementDeleteOperationPolicy": {
- "$ref": "./examples/ApiManagementDeleteOperationPolicy.json"
+ "ApiManagementDeleteApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementDeleteApiOperationPolicy.json"
}
},
"parameters": [
@@ -1376,16 +1444,16 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/OperationIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1396,10 +1464,10 @@
],
"responses": {
"200": {
- "description": "Successfully deleted the policy configuration at the API Operation level."
+ "description": "Policy successfully removed"
},
"204": {
- "description": "Successfully deleted the policy configuration at the API Operation level."
+ "description": "Policy successfully removed by previous request or does not exist"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -1410,16 +1478,16 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags": {
"get": {
"tags": [
- "ApiProduct"
+ "ApiOperationTag"
],
- "operationId": "ApiProduct_ListByApis",
- "description": "Lists all Products, which the API is part of.",
+ "operationId": "Tag_ListByOperation",
+ "description": "Lists all Tags associated with the Operation.",
"x-ms-examples": {
- "ApiManagementGetProductsForApi": {
- "$ref": "./examples/ApiManagementGetProductsForApi.json"
+ "ApiManagementListApiOperationTags": {
+ "$ref": "./examples/ApiManagementListApiOperationTags.json"
}
},
"parameters": [
@@ -1430,14 +1498,17 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
},
{
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -1454,9 +1525,9 @@
],
"responses": {
"200": {
- "description": "The operation returns a collection of products which have the Api entity.",
+ "description": "The operation returns a collection of tags associated with the Operation entity.",
"schema": {
- "$ref": "./apimproducts.json#/definitions/ProductCollection"
+ "$ref": "./apimtags.json#/definitions/TagCollection"
}
},
"default": {
@@ -1469,19 +1540,19 @@
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
- "x-ms-odata": "./apimproducts.json#/definitions/ProductContract"
+ "x-ms-odata": "./apimtags.json#/definitions/TagContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies": {
- "get": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}": {
+ "head": {
"tags": [
- "ApiPolicy"
+ "ApiOperationTag"
],
- "operationId": "ApiPolicy_ListByApi",
- "description": "Get the policy configuration at the API level.",
+ "operationId": "Tag_GetEntityStateByOperation",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
"x-ms-examples": {
- "ApiManagementListApiPolicies": {
- "$ref": "./examples/ApiManagementListApiPolicies.json"
+ "ApiManagementHeadApiOperationTag": {
+ "$ref": "./examples/ApiManagementHeadApiOperationTag.json"
}
},
"parameters": [
@@ -1492,7 +1563,13 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1503,10 +1580,7 @@
],
"responses": {
"200": {
- "description": "Apis Policy Collection.",
- "schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyCollection"
- },
+ "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.",
@@ -1521,18 +1595,16 @@
}
}
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}": {
- "head": {
+ },
+ "get": {
"tags": [
- "ApiPolicy"
+ "ApiOperationTag"
],
- "operationId": "ApiPolicy_GetEntityTag",
- "description": "Gets the entity state (Etag) version of the API policy specified by its identifier.",
+ "operationId": "Tag_GetByOperation",
+ "description": "Get tag associated with the Operation.",
"x-ms-examples": {
- "ApiManagementHeadApiPolicy": {
- "$ref": "./examples/ApiManagementHeadApiPolicy.json"
+ "ApiManagementGetApiOperationTag": {
+ "$ref": "./examples/ApiManagementGetApiOperationTag.json"
}
},
"parameters": [
@@ -1543,10 +1615,13 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1557,7 +1632,10 @@
],
"responses": {
"200": {
- "description": "Specified API Policy entity exists and current entity state version is present in the ETag header.",
+ "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.",
@@ -1573,22 +1651,17 @@
}
}
},
- "get": {
+ "put": {
"tags": [
- "ApiPolicy"
+ "ApiOperationTag"
],
- "operationId": "ApiPolicy_Get",
- "description": "Get the policy configuration at the API level.",
+ "operationId": "Tag_AssignToOperation",
+ "description": "Assign tag to the Operation.",
"x-ms-examples": {
- "ApiManagementGetApiPolicy": {
- "$ref": "./examples/ApiManagementGetApiPolicy.json"
+ "ApiManagementCreateApiOperationTag": {
+ "$ref": "./examples/ApiManagementCreateApiOperationTag.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"
@@ -1597,10 +1670,13 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1610,16 +1686,16 @@
}
],
"responses": {
+ "201": {
+ "description": "Tag was assigned to the Operation.",
+ "schema": {
+ "$ref": "./apimtags.json#/definitions/TagContract"
+ }
+ },
"200": {
- "description": "Api Policy information.",
+ "description": "Tag is already assigned to the Operation.",
"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"
- }
+ "$ref": "./apimtags.json#/definitions/TagContract"
}
},
"default": {
@@ -1630,25 +1706,17 @@
}
}
},
- "put": {
+ "delete": {
"tags": [
- "ApiPolicy"
+ "ApiOperationTag"
],
- "operationId": "ApiPolicy_CreateOrUpdate",
- "description": "Creates or updates policy configuration for the API.",
+ "operationId": "Tag_DetachFromOperation",
+ "description": "Detach the tag from the Operation.",
"x-ms-examples": {
- "ApiManagementCreateApiPolicy": {
- "$ref": "./examples/ApiManagementCreateApiPolicy.json"
- },
- "ApiManagementCreateApiPolicyNonXmlEncoded": {
- "$ref": "./examples/ApiManagementCreateApiPolicyNonXmlEncoded.json"
+ "ApiManagementDeleteApiOperationTag": {
+ "$ref": "./examples/ApiManagementDeleteApiOperationTag.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"
@@ -1657,22 +1725,13 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$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/OperationIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1682,17 +1741,11 @@
}
],
"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"
- }
+ "description": "Tag was successfully removed from Operation"
+ },
+ "204": {
+ "description": "Tag successfully removed by previous request or does not exist in Operation"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -1701,16 +1754,18 @@
}
}
}
- },
- "delete": {
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products": {
+ "get": {
"tags": [
- "ApiPolicy"
+ "ApiProduct"
],
- "operationId": "ApiPolicy_Delete",
- "description": "Deletes the policy configuration at the Api.",
+ "operationId": "ApiProduct_ListByApis",
+ "description": "Lists all Products, which the API is part of.",
"x-ms-examples": {
- "ApiManagementDeleteApiPolicy": {
- "$ref": "./examples/ApiManagementDeleteApiPolicy.json"
+ "ApiManagementListApiProducts": {
+ "$ref": "./examples/ApiManagementListApiProducts.json"
}
},
"parameters": [
@@ -1721,13 +1776,20 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1738,10 +1800,10 @@
],
"responses": {
"200": {
- "description": "Successfully deleted the policy configuration at the API level."
- },
- "204": {
- "description": "Successfully deleted the policy configuration at the API level."
+ "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.",
@@ -1749,19 +1811,23 @@
"$ref": "./apimanagement.json#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimproducts.json#/definitions/ProductContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies": {
"get": {
"tags": [
- "ApiSchema"
+ "ApiPolicy"
],
- "operationId": "ApiSchema_ListByApi",
- "description": "Get the schema configuration at the API level.",
+ "operationId": "ApiPolicy_ListByApi",
+ "description": "Get the policy configuration at the API level.",
"x-ms-examples": {
- "ApiManagementListApiSchemas": {
- "$ref": "./examples/ApiManagementListApiSchemas.json"
+ "ApiManagementListApiPolicies": {
+ "$ref": "./examples/ApiManagementListApiPolicies.json"
}
},
"parameters": [
@@ -1772,7 +1838,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1783,15 +1849,9 @@
],
"responses": {
"200": {
- "description": "Apis Schema Collection.",
+ "description": "Apis Policy 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"
- }
+ "$ref": "./apimpolicies.json#/definitions/PolicyCollection"
}
},
"default": {
@@ -1800,22 +1860,19 @@
"$ref": "./apimanagement.json#/definitions/ErrorResponse"
}
}
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}": {
"head": {
"tags": [
- "ApiSchema"
+ "ApiPolicy"
],
- "operationId": "ApiSchema_GetEntityTag",
- "description": "Gets the entity state (Etag) version of the schema specified by its identifier.",
+ "operationId": "ApiPolicy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API policy specified by its identifier.",
"x-ms-examples": {
- "ApiManagementHeadApiSchema": {
- "$ref": "./examples/ApiManagementHeadApiSchema.json"
+ "ApiManagementHeadApiPolicy": {
+ "$ref": "./examples/ApiManagementHeadApiPolicy.json"
}
},
"parameters": [
@@ -1826,10 +1883,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/SchemaIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1840,7 +1897,7 @@
],
"responses": {
"200": {
- "description": "Specified schema entity exists and current entity state version is present in the ETag header.",
+ "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.",
@@ -1858,15 +1915,20 @@
},
"get": {
"tags": [
- "ApiSchema"
+ "ApiPolicy"
],
- "operationId": "ApiSchema_Get",
- "description": "Get the schema configuration at the API level.",
+ "operationId": "ApiPolicy_Get",
+ "description": "Get the policy configuration at the API level.",
"x-ms-examples": {
- "ApiManagementGetApiSchema": {
- "$ref": "./examples/ApiManagementGetApiSchema.json"
+ "ApiManagementGetApiPolicy": {
+ "$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"
@@ -1875,10 +1937,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/SchemaIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1889,9 +1951,9 @@
],
"responses": {
"200": {
- "description": "Api Schema information.",
+ "description": "Api Policy information.",
"schema": {
- "$ref": "#/definitions/SchemaContract"
+ "$ref": "./apimpolicies.json#/definitions/PolicyContract"
},
"headers": {
"ETag": {
@@ -1910,15 +1972,23 @@
},
"put": {
"tags": [
- "ApiSchema"
+ "ApiPolicy"
],
- "operationId": "ApiSchema_CreateOrUpdate",
- "description": "Creates or updates schema configuration for the API.",
+ "operationId": "ApiPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the API.",
"x-ms-examples": {
- "ApiManagementCreateApiSchema": {
- "$ref": "./examples/ApiManagementCreateApiSchema.json"
+ "ApiManagementCreateApiPolicy": {
+ "$ref": "./examples/ApiManagementCreateApiPolicy.json"
+ },
+ "ApiManagementCreateApiPolicyNonXmlEncoded": {
+ "$ref": "./examples/ApiManagementCreateApiPolicyNonXmlEncoded.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"
@@ -1927,19 +1997,19 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/SchemaIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
},
{
"name": "parameters",
"in": "body",
+ "required": true,
"schema": {
- "$ref": "#/definitions/SchemaContract"
+ "$ref": "./apimpolicies.json#/definitions/PolicyContract"
},
- "required": true,
- "description": "The schema contents to apply."
+ "description": "The policy contents to apply."
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
@@ -1953,15 +2023,27 @@
],
"responses": {
"201": {
- "description": "Api schema configuration was successfully created.",
+ "description": "Api policy configuration was successfully created.",
"schema": {
- "$ref": "#/definitions/SchemaContract"
+ "$ref": "./apimpolicies.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"200": {
- "description": "Api schema configuration of the tenant was successfully updated.",
+ "description": "Api policy configuration of the tenant was successfully updated.",
"schema": {
- "$ref": "#/definitions/SchemaContract"
+ "$ref": "./apimpolicies.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": {
@@ -1974,13 +2056,13 @@
},
"delete": {
"tags": [
- "ApiSchema"
+ "ApiPolicy"
],
- "operationId": "ApiSchema_Delete",
- "description": "Deletes the schema configuration at the Api.",
+ "operationId": "ApiPolicy_Delete",
+ "description": "Deletes the policy configuration at the Api.",
"x-ms-examples": {
- "ApiManagementDeleteApiSchema": {
- "$ref": "./examples/ApiManagementDeleteApiSchema.json"
+ "ApiManagementDeleteApiPolicy": {
+ "$ref": "./examples/ApiManagementDeleteApiPolicy.json"
}
},
"parameters": [
@@ -1991,10 +2073,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/SchemaIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -2008,10 +2090,10 @@
],
"responses": {
"200": {
- "description": "Successfully deleted the schema configuration at the API level."
+ "description": "Successfully deleted the policy configuration at the API level."
},
"204": {
- "description": "Successfully deleted the schema configuration at the API level."
+ "description": "Successfully deleted the policy configuration at the API level."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -2022,16 +2104,16 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas": {
"get": {
"tags": [
- "ApisByTags"
+ "ApiSchema"
],
- "operationId": "Api_ListByTags",
- "description": "Lists a collection of apis associated with tags.",
+ "operationId": "ApiSchema_ListByApi",
+ "description": "Get the schema configuration at the API level.",
"x-ms-examples": {
- "ApiManagementListApisByTags": {
- "$ref": "./examples/ApiManagementListApisByTags.json"
+ "ApiManagementListApiSchemas": {
+ "$ref": "./examples/ApiManagementListApiSchemas.json"
}
},
"parameters": [
@@ -2041,12 +2123,15 @@
{
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
{
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|contentType | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -2059,77 +2144,13 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "includeNotTaggedApis",
- "in": "query",
- "type": "boolean",
- "required": false,
- "default": false,
- "description": "Include not tagged apis in response"
- }
- ],
- "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}/apis/{apiId}/diagnostics": {
- "get": {
- "tags": [
- "ApiDiagnostics"
- ],
- "operationId": "ApiDiagnostic_ListByService",
- "description": "Lists all diagnostics of an API.",
- "x-ms-examples": {
- "ApiManagementListApiDiagnostics": {
- "$ref": "./examples/ApiManagementListApiDiagnostics.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"
- },
- {
- "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 response of diagnostics for an API.",
+ "description": "Apis Schema Collection.",
"schema": {
- "$ref": "./apimdiagnostics.json#/definitions/DiagnosticCollection"
+ "$ref": "#/definitions/SchemaCollection"
}
},
"default": {
@@ -2141,20 +2162,19 @@
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
- },
- "x-ms-odata": "./apimdiagnostics.json#/definitions/DiagnosticContract"
+ }
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}": {
"head": {
"tags": [
- "ApiDiagnostics"
+ "ApiSchema"
],
- "operationId": "ApiDiagnostic_GetEntityTag",
- "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.",
+ "operationId": "ApiSchema_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the schema specified by its identifier.",
"x-ms-examples": {
- "ApiManagementHeadApiDiagnostic": {
- "$ref": "./examples/ApiManagementHeadApiDiagnostic.json"
+ "ApiManagementHeadApiSchema": {
+ "$ref": "./examples/ApiManagementHeadApiSchema.json"
}
},
"parameters": [
@@ -2165,10 +2185,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2179,7 +2199,7 @@
],
"responses": {
"200": {
- "description": "Operation completed successfully.",
+ "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.",
@@ -2197,13 +2217,13 @@
},
"get": {
"tags": [
- "ApiDiagnostics"
+ "ApiSchema"
],
- "operationId": "ApiDiagnostic_Get",
- "description": "Gets the details of the Diagnostic for an API specified by its identifier.",
+ "operationId": "ApiSchema_Get",
+ "description": "Get the schema configuration at the API level.",
"x-ms-examples": {
- "ApiManagementGetApiDiagnostic": {
- "$ref": "./examples/ApiManagementGetApiDiagnostic.json"
+ "ApiManagementGetApiSchema": {
+ "$ref": "./examples/ApiManagementGetApiSchema.json"
}
},
"parameters": [
@@ -2214,10 +2234,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2228,9 +2248,9 @@
],
"responses": {
"200": {
- "description": "The response body contains the specified Diagnostic entity.",
+ "description": "Api Schema information.",
"schema": {
- "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
+ "$ref": "#/definitions/SchemaContract"
},
"headers": {
"ETag": {
@@ -2249,13 +2269,13 @@
},
"put": {
"tags": [
- "ApiDiagnostics"
+ "ApiSchema"
],
- "operationId": "ApiDiagnostic_CreateOrUpdate",
- "description": "Creates a new Diagnostic for an API or updates an existing one.",
+ "operationId": "ApiSchema_CreateOrUpdate",
+ "description": "Creates or updates schema configuration for the API.",
"x-ms-examples": {
- "ApiManagementCreateApiDiagnostic": {
- "$ref": "./examples/ApiManagementCreateApiDiagnostic.json"
+ "ApiManagementCreateApiSchema": {
+ "$ref": "./examples/ApiManagementCreateApiSchema.json"
}
},
"parameters": [
@@ -2266,19 +2286,19 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
+ "$ref": "#/definitions/SchemaContract"
},
- "description": "Create parameters."
+ "description": "The schema contents to apply."
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
@@ -2292,15 +2312,27 @@
],
"responses": {
"201": {
- "description": "Diagnostic was successfully created.",
+ "description": "Api schema configuration was successfully created.",
"schema": {
- "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
+ "$ref": "#/definitions/SchemaContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"200": {
- "description": "Diagnostic was successfully updated.",
+ "description": "Api schema configuration of the tenant was successfully updated.",
"schema": {
- "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
+ "$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": {
@@ -2311,15 +2343,15 @@
}
}
},
- "patch": {
+ "delete": {
"tags": [
- "ApiDiagnostics"
+ "ApiSchema"
],
- "operationId": "ApiDiagnostic_Update",
- "description": "Updates the details of the Diagnostic for an API specified by its identifier.",
+ "operationId": "ApiSchema_Delete",
+ "description": "Deletes the schema configuration at the Api.",
"x-ms-examples": {
- "ApiManagementUpdateApiDiagnostic": {
- "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json"
+ "ApiManagementDeleteApiSchema": {
+ "$ref": "./examples/ApiManagementDeleteApiSchema.json"
}
},
"parameters": [
@@ -2330,65 +2362,17 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
- },
- "description": "Diagnostic Update parameters."
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
- },
- {
- "$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": [
- "ApiDiagnostics"
- ],
- "operationId": "ApiDiagnostic_Delete",
- "description": "Deletes the specified Diagnostic from an API.",
- "x-ms-examples": {
- "ApiManagementDeleteApiDiagnostic": {
- "$ref": "./examples/ApiManagementDeleteApiDiagnostic.json"
- }
- },
- "parameters": [
- {
- "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
},
{
- "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter"
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "If true removes all references to the schema before deleting it."
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -2402,10 +2386,10 @@
],
"responses": {
"200": {
- "description": "The Diagnostic was successfully deleted."
+ "description": "Successfully deleted the schema configuration at the API level."
},
"204": {
- "description": "The Diagnostic was successfully deleted."
+ "description": "Successfully deleted the schema configuration at the API level."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -2416,16 +2400,16 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics": {
"get": {
"tags": [
- "ApiIssues"
+ "ApiDiagnostic"
],
- "operationId": "ApiIssue_ListByService",
- "description": "Lists all issues associated with the specified API.",
+ "operationId": "ApiDiagnostic_ListByService",
+ "description": "Lists all diagnostics of an API.",
"x-ms-examples": {
- "ApiManagementListApiIssues": {
- "$ref": "./examples/ApiManagementListApiIssues.json"
+ "ApiManagementListApiDiagnostics": {
+ "$ref": "./examples/ApiManagementListApiDiagnostics.json"
}
},
"parameters": [
@@ -2436,33 +2420,33 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.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, startswith, endswith |\n| state | eq | |\n| userId | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | 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"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Paged Result response of issues for the API.",
+ "description": "Paged Result response of diagnostics for an API.",
"schema": {
- "$ref": "#/definitions/IssueCollection"
+ "$ref": "./apimdiagnostics.json#/definitions/DiagnosticCollection"
}
},
"default": {
@@ -2475,19 +2459,19 @@
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
- "x-ms-odata": "#/definitions/IssueContract"
+ "x-ms-odata": "./apimdiagnostics.json#/definitions/DiagnosticContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}": {
"head": {
"tags": [
- "ApiIssues"
+ "ApiDiagnostic"
],
- "operationId": "ApiIssue_GetEntityTag",
- "description": "Gets the entity state (Etag) version of the Issue for an API specified by its identifier.",
+ "operationId": "ApiDiagnostic_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.",
"x-ms-examples": {
- "ApiManagementHeadApiIssue": {
- "$ref": "./examples/ApiManagementHeadApiIssue.json"
+ "ApiManagementHeadApiDiagnostic": {
+ "$ref": "./examples/ApiManagementHeadApiDiagnostic.json"
}
},
"parameters": [
@@ -2498,10 +2482,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2530,13 +2514,13 @@
},
"get": {
"tags": [
- "ApiIssues"
+ "ApiDiagnostic"
],
- "operationId": "ApiIssue_Get",
- "description": "Gets the details of the Issue for an API specified by its identifier.",
+ "operationId": "ApiDiagnostic_Get",
+ "description": "Gets the details of the Diagnostic for an API specified by its identifier.",
"x-ms-examples": {
- "ApiManagementGetApiIssue": {
- "$ref": "./examples/ApiManagementGetApiIssue.json"
+ "ApiManagementGetApiDiagnostic": {
+ "$ref": "./examples/ApiManagementGetApiDiagnostic.json"
}
},
"parameters": [
@@ -2547,10 +2531,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2561,9 +2545,9 @@
],
"responses": {
"200": {
- "description": "The response body contains the specified Issue entity.",
+ "description": "The response body contains the specified Diagnostic entity.",
"schema": {
- "$ref": "#/definitions/IssueContract"
+ "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
},
"headers": {
"ETag": {
@@ -2582,13 +2566,13 @@
},
"put": {
"tags": [
- "ApiIssues"
+ "ApiDiagnostic"
],
- "operationId": "ApiIssue_CreateOrUpdate",
- "description": "Creates a new Issue for an API or updates an existing one.",
+ "operationId": "ApiDiagnostic_CreateOrUpdate",
+ "description": "Creates a new Diagnostic for an API or updates an existing one.",
"x-ms-examples": {
- "ApiManagementCreateApiIssue": {
- "$ref": "./examples/ApiManagementCreateApiIssue.json"
+ "ApiManagementCreateApiDiagnostic": {
+ "$ref": "./examples/ApiManagementCreateApiDiagnostic.json"
}
},
"parameters": [
@@ -2599,26 +2583,22 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/IssueContract"
+ "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
},
"description": "Create parameters."
},
{
- "name": "If-Match",
- "in": "header",
- "required": false,
- "description": "ETag of the Issue 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/IfMatchOptionalParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2629,15 +2609,27 @@
],
"responses": {
"201": {
- "description": "Issue was successfully created.",
+ "description": "Diagnostic was successfully created.",
"schema": {
- "$ref": "#/definitions/IssueContract"
+ "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"200": {
- "description": "Issue was successfully updated.",
+ "description": "Diagnostic was successfully updated.",
"schema": {
- "$ref": "#/definitions/IssueContract"
+ "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"default": {
@@ -2650,13 +2642,13 @@
},
"patch": {
"tags": [
- "ApiIssues"
+ "ApiDiagnostic"
],
- "operationId": "ApiIssue_Update",
- "description": "Updates an existing issue for an API.",
+ "operationId": "ApiDiagnostic_Update",
+ "description": "Updates the details of the Diagnostic for an API specified by its identifier.",
"x-ms-examples": {
- "ApiManagementUpdateApiIssue": {
- "$ref": "./examples/ApiManagementUpdateApiIssue.json"
+ "ApiManagementUpdateApiDiagnostic": {
+ "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json"
}
},
"parameters": [
@@ -2667,26 +2659,68 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/IssueUpdateContract"
+ "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract"
},
- "description": "Update parameters."
+ "description": "Diagnostic Update parameters."
},
{
- "name": "If-Match",
- "in": "header",
- "required": false,
- "description": "ETag of the Issue 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/IfMatchRequiredParameter"
+ },
+ {
+ "$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": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_Delete",
+ "description": "Deletes the specified Diagnostic from an API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiDiagnostic": {
+ "$ref": "./examples/ApiManagementDeleteApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2696,8 +2730,928 @@
}
],
"responses": {
+ "200": {
+ "description": "Diagnostic successfully removed"
+ },
"204": {
- "description": "The Issue was successfully updated."
+ "description": "Diagnostic successfully removed by previous request or does not exist"
+ },
+ "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}/issues": {
+ "get": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_ListByService",
+ "description": "Lists all issues associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssues": {
+ "$ref": "./examples/ApiManagementListApiIssues.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|state | eq | |\n"
+ },
+ {
+ "name": "expandCommentsAttachments",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Expand the comment attachments. "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issues for the API.",
+ "schema": {
+ "$ref": "#/definitions/IssueCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/IssueContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}": {
+ "head": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Issue for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssue": {
+ "$ref": "./examples/ApiManagementHeadApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$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": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Get",
+ "description": "Gets the details of the Issue for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssue": {
+ "$ref": "./examples/ApiManagementGetApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "expandCommentsAttachments",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Expand the comment attachments. "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Issue entity.",
+ "schema": {
+ "$ref": "#/definitions/IssueContract"
+ },
+ "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": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_CreateOrUpdate",
+ "description": "Creates a new Issue for an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssue": {
+ "$ref": "./examples/ApiManagementCreateApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IssueContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue successfully added",
+ "schema": {
+ "$ref": "#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue successfully updated",
+ "schema": {
+ "$ref": "#/definitions/IssueContract"
+ },
+ "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": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Update",
+ "description": "Updates an existing issue for an API.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiIssue": {
+ "$ref": "./examples/ApiManagementUpdateApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IssueUpdateContract"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Api issue updated successfully"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Delete",
+ "description": "Deletes the specified Issue from an API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssue": {
+ "$ref": "./examples/ApiManagementDeleteApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Issue successfully removed"
+ },
+ "204": {
+ "description": "Issue successfully removed by previous request or does not exist"
+ },
+ "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}/issues/{issueId}/comments": {
+ "get": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_ListByService",
+ "description": "Lists all comments for the Issue associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssueComments": {
+ "$ref": "./examples/ApiManagementListApiIssueComments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|userId | 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"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issue comments for the API.",
+ "schema": {
+ "$ref": "#/definitions/IssueCommentCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/IssueCommentContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}": {
+ "head": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the issue Comment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssueComment": {
+ "$ref": "./examples/ApiManagementHeadApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$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": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_Get",
+ "description": "Gets the details of the issue Comment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssueComment": {
+ "$ref": "./examples/ApiManagementGetApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified issue Comment entity.",
+ "schema": {
+ "$ref": "#/definitions/IssueCommentContract"
+ },
+ "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": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_CreateOrUpdate",
+ "description": "Creates a new Comment for the Issue in an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssueComment": {
+ "$ref": "./examples/ApiManagementCreateApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IssueCommentContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue comment successfully added",
+ "schema": {
+ "$ref": "#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue comment successfully updated",
+ "schema": {
+ "$ref": "#/definitions/IssueCommentContract"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_Delete",
+ "description": "Deletes the specified comment from an Issue.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssueComment": {
+ "$ref": "./examples/ApiManagementDeleteApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Comment successfully removed"
+ },
+ "204": {
+ "description": "Comment successfully removed by previous request or does not exist"
+ },
+ "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}/issues/{issueId}/attachments": {
+ "get": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_ListByService",
+ "description": "Lists all attachments for the Issue associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssueAttachments": {
+ "$ref": "./examples/ApiManagementListApiIssueAttachments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|userId | 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"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issue attachments for the API.",
+ "schema": {
+ "$ref": "#/definitions/IssueAttachmentCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/IssueAttachmentContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}": {
+ "head": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the issue Attachment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementHeadApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$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": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_Get",
+ "description": "Gets the details of the issue Attachment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementGetApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified issue Attachment entity.",
+ "schema": {
+ "$ref": "#/definitions/IssueAttachmentContract"
+ },
+ "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": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_CreateOrUpdate",
+ "description": "Creates a new Attachment for the Issue in an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementCreateApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IssueAttachmentContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue attachment successfully added",
+ "schema": {
+ "$ref": "#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue attachment successfully updated",
+ "schema": {
+ "$ref": "#/definitions/IssueAttachmentContract"
+ },
+ "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.",
@@ -2709,13 +3663,13 @@
},
"delete": {
"tags": [
- "ApiIssues"
+ "ApiIssueAttachment"
],
- "operationId": "ApiIssue_Delete",
- "description": "Deletes the specified Issue from an API.",
+ "operationId": "ApiIssueAttachment_Delete",
+ "description": "Deletes the specified comment from an Issue.",
"x-ms-examples": {
- "ApiManagementDeleteApiIssue": {
- "$ref": "./examples/ApiManagementDeleteApiIssue.json"
+ "ApiManagementDeleteApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementDeleteApiIssueAttachment.json"
}
},
"parameters": [
@@ -2726,17 +3680,16 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
},
{
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
},
{
- "name": "If-Match",
- "in": "header",
- "required": true,
- "description": "ETag of the Issue 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/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2747,10 +3700,10 @@
],
"responses": {
"200": {
- "description": "The Issue was successfully deleted."
+ "description": "Attachment successfully removed"
},
"204": {
- "description": "The Issue was successfully deleted."
+ "description": "Attachment successfully removed by previous request or does not exist"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -2761,16 +3714,16 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions": {
"get": {
"tags": [
- "ApiIssueComments"
+ "ApiTagDescription"
],
- "operationId": "ApiIssueComment_ListByService",
- "description": "Lists all comments for the Issue associated with the specified API.",
+ "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": {
- "ApiManagementListApiIssueComments": {
- "$ref": "./examples/ApiManagementListApiIssueComments.json"
+ "ApiManagementListApiTagDescriptions": {
+ "$ref": "./examples/ApiManagementListApiTagDescriptions.json"
}
},
"parameters": [
@@ -2781,36 +3734,33 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/IssueIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"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| userId | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|name | 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"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Paged Result response of issue comments for the API.",
+ "description": "The operation returns a collection of tagDescriptions associated with the Api entity.",
"schema": {
- "$ref": "#/definitions/IssueCommentCollection"
+ "$ref": "./apimtags.json#/definitions/TagDescriptionCollection"
}
},
"default": {
@@ -2823,19 +3773,19 @@
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
- "x-ms-odata": "#/definitions/IssueCommentContract"
+ "x-ms-odata": "./apimtags.json#/definitions/TagDescriptionContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}": {
"head": {
"tags": [
- "ApiIssueComments"
+ "ApiTagDescription"
],
- "operationId": "ApiIssueComment_GetEntityTag",
- "description": "Gets the entity state (Etag) version of the issue Comment for an API specified by its identifier.",
+ "operationId": "TagDescription_GetEntityState",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
"x-ms-examples": {
- "ApiManagementHeadApiIssueComment": {
- "$ref": "./examples/ApiManagementHeadApiIssueComment.json"
+ "ApiManagementHeadApiTagDescription": {
+ "$ref": "./examples/ApiManagementHeadApiTagDescription.json"
}
},
"parameters": [
@@ -2846,13 +3796,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/CommentIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2863,7 +3810,7 @@
],
"responses": {
"200": {
- "description": "Operation completed successfully.",
+ "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.",
@@ -2881,13 +3828,13 @@
},
"get": {
"tags": [
- "ApiIssueComments"
+ "ApiTagDescription"
],
- "operationId": "ApiIssueComment_Get",
- "description": "Gets the details of the issue Comment for an API specified by its identifier.",
+ "operationId": "TagDescription_Get",
+ "description": "Get Tag description in scope of API",
"x-ms-examples": {
- "ApiManagementGetApiIssueComment": {
- "$ref": "./examples/ApiManagementGetApiIssueComment.json"
+ "ApiManagementGetApiTagDescription": {
+ "$ref": "./examples/ApiManagementGetApiTagDescription.json"
}
},
"parameters": [
@@ -2898,13 +3845,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/CommentIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2915,9 +3859,9 @@
],
"responses": {
"200": {
- "description": "The response body contains the specified issue Comment entity.",
+ "description": "Gets the description of the tag specified by its identifier in scope if the Api.",
"schema": {
- "$ref": "#/definitions/IssueCommentContract"
+ "$ref": "./apimtags.json#/definitions/TagDescriptionContract"
},
"headers": {
"ETag": {
@@ -2936,13 +3880,13 @@
},
"put": {
"tags": [
- "ApiIssueComments"
+ "ApiTagDescription"
],
- "operationId": "ApiIssueComment_CreateOrUpdate",
- "description": "Creates a new Comment for the Issue in an API or updates an existing one.",
+ "operationId": "TagDescription_CreateOrUpdate",
+ "description": "Create/Update tag description in scope of the Api.",
"x-ms-examples": {
- "ApiManagementCreateApiIssueComment": {
- "$ref": "./examples/ApiManagementCreateApiIssueComment.json"
+ "ApiManagementCreateApiTagDescription": {
+ "$ref": "./examples/ApiManagementCreateApiTagDescription.json"
}
},
"parameters": [
@@ -2953,29 +3897,22 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/CommentIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"name": "parameters",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/IssueCommentContract"
+ "$ref": "./apimtags.json#/definitions/TagDescriptionCreateParameters"
},
"description": "Create parameters."
},
{
- "name": "If-Match",
- "in": "header",
- "required": false,
- "description": "ETag of the Issue 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/IfMatchOptionalParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -2986,15 +3923,27 @@
],
"responses": {
"201": {
- "description": "Issue Comment was successfully created.",
+ "description": "Tag Description was created for the Api.",
"schema": {
- "$ref": "#/definitions/IssueCommentContract"
+ "$ref": "./apimtags.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"200": {
- "description": "Issue Comment was successfully updated.",
+ "description": "Tag Description was updated for the Api.",
"schema": {
- "$ref": "#/definitions/IssueCommentContract"
+ "$ref": "./apimtags.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"default": {
@@ -3007,13 +3956,13 @@
},
"delete": {
"tags": [
- "ApiIssueComments"
+ "ApiTagDescription"
],
- "operationId": "ApiIssueComment_Delete",
- "description": "Deletes the specified comment from an Issue.",
+ "operationId": "TagDescription_Delete",
+ "description": "Delete tag description for the Api.",
"x-ms-examples": {
- "ApiManagementDeleteApiIssueComment": {
- "$ref": "./examples/ApiManagementDeleteApiIssueComment.json"
+ "ApiManagementDeleteApiTagDescription": {
+ "$ref": "./examples/ApiManagementDeleteApiTagDescription.json"
}
},
"parameters": [
@@ -3024,20 +3973,13 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/CommentIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
- "name": "If-Match",
- "in": "header",
- "required": true,
- "description": "ETag of the Issue 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/IfMatchRequiredParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -3048,10 +3990,10 @@
],
"responses": {
"200": {
- "description": "The issue Comment was successfully deleted."
+ "description": "Tag description successfully removed"
},
"204": {
- "description": "The issue Comment was successfully deleted."
+ "description": "Tag description successfully removed by previous request or does not exist"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -3062,16 +4004,16 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags": {
"get": {
"tags": [
- "ApiIssueAttachments"
+ "ApiTag"
],
- "operationId": "ApiIssueAttachment_ListByService",
- "description": "Lists all comments for the Issue associated with the specified API.",
+ "operationId": "Tag_ListByApi",
+ "description": "Lists all Tags associated with the API.",
"x-ms-examples": {
- "ApiManagementListApiIssueAttachments": {
- "$ref": "./examples/ApiManagementListApiIssueAttachments.json"
+ "ApiManagementListApiTags": {
+ "$ref": "./examples/ApiManagementListApiTags.json"
}
},
"parameters": [
@@ -3082,36 +4024,33 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/IssueIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"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| userId | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|name | 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"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
- "description": "Paged Result response of issue comments for the API.",
+ "description": "The operation returns a collection of tags associated with the Api entity.",
"schema": {
- "$ref": "#/definitions/IssueAttachmentCollection"
+ "$ref": "./apimtags.json#/definitions/TagCollection"
}
},
"default": {
@@ -3124,19 +4063,19 @@
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
- "x-ms-odata": "#/definitions/IssueAttachmentContract"
+ "x-ms-odata": "./apimtags.json#/definitions/TagContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}": {
"head": {
"tags": [
- "ApiIssueAttachments"
+ "ApiTag"
],
- "operationId": "ApiIssueAttachment_GetEntityTag",
- "description": "Gets the entity state (Etag) version of the issue Attachment for an API specified by its identifier.",
+ "operationId": "Tag_GetEntityStateByApi",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
"x-ms-examples": {
- "ApiManagementHeadApiIssueAttachment": {
- "$ref": "./examples/ApiManagementHeadApiIssueAttachment.json"
+ "ApiManagementHeadApiTag": {
+ "$ref": "./examples/ApiManagementHeadApiTag.json"
}
},
"parameters": [
@@ -3147,13 +4086,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "#/parameters/IssueIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/AttachmentIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -3164,7 +4100,7 @@
],
"responses": {
"200": {
- "description": "Operation completed successfully.",
+ "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.",
@@ -3182,13 +4118,13 @@
},
"get": {
"tags": [
- "ApiIssueAttachments"
+ "ApiTag"
],
- "operationId": "ApiIssueAttachment_Get",
- "description": "Gets the details of the issue Attachment for an API specified by its identifier.",
+ "operationId": "Tag_GetByApi",
+ "description": "Get tag associated with the API.",
"x-ms-examples": {
- "ApiManagementGetApiIssueAttachment": {
- "$ref": "./examples/ApiManagementGetApiIssueAttachment.json"
+ "ApiManagementGetApiTag": {
+ "$ref": "./examples/ApiManagementGetApiTag.json"
}
},
"parameters": [
@@ -3199,13 +4135,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "$ref": "#/parameters/IssueIdParameter"
- },
- {
- "$ref": "#/parameters/AttachmentIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -3216,9 +4149,9 @@
],
"responses": {
"200": {
- "description": "The response body contains the specified issue Attachment entity.",
+ "description": "Gets the details of the tag specified by its identifier.",
"schema": {
- "$ref": "#/definitions/IssueAttachmentContract"
+ "$ref": "./apimtags.json#/definitions/TagContract"
},
"headers": {
"ETag": {
@@ -3237,13 +4170,13 @@
},
"put": {
"tags": [
- "ApiIssueAttachments"
+ "ApiTag"
],
- "operationId": "ApiIssueAttachment_CreateOrUpdate",
- "description": "Creates a new Attachment for the Issue in an API or updates an existing one.",
+ "operationId": "Tag_AssignToApi",
+ "description": "Assign tag to the Api.",
"x-ms-examples": {
- "ApiManagementCreateApiIssueAttachment": {
- "$ref": "./examples/ApiManagementCreateApiIssueAttachment.json"
+ "ApiManagementCreateApiTag": {
+ "$ref": "./examples/ApiManagementCreateApiTag.json"
}
},
"parameters": [
@@ -3254,29 +4187,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "#/parameters/IssueIdParameter"
- },
- {
- "$ref": "#/parameters/AttachmentIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/IssueAttachmentContract"
- },
- "description": "Create parameters."
- },
- {
- "name": "If-Match",
- "in": "header",
- "required": false,
- "description": "ETag of the Issue 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/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -3287,15 +4201,27 @@
],
"responses": {
"201": {
- "description": "Issue Attachment was successfully created.",
+ "description": "Tag was assigned to the Api.",
"schema": {
- "$ref": "#/definitions/IssueAttachmentContract"
+ "$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"
+ }
}
},
"200": {
- "description": "Issue Attachment was successfully updated.",
+ "description": "Tag is already assigned to the Api.",
"schema": {
- "$ref": "#/definitions/IssueAttachmentContract"
+ "$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": {
@@ -3308,13 +4234,13 @@
},
"delete": {
"tags": [
- "ApiIssueAttachments"
+ "ApiTag"
],
- "operationId": "ApiIssueAttachment_Delete",
- "description": "Deletes the specified comment from an Issue.",
+ "operationId": "Tag_DetachFromApi",
+ "description": "Detach the tag from the Api.",
"x-ms-examples": {
- "ApiManagementDeleteApiIssueAttachment": {
- "$ref": "./examples/ApiManagementDeleteApiIssueAttachment.json"
+ "ApiManagementDeleteApiTag": {
+ "$ref": "./examples/ApiManagementDeleteApiTag.json"
}
},
"parameters": [
@@ -3325,20 +4251,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdParameter"
- },
- {
- "$ref": "#/parameters/IssueIdParameter"
- },
- {
- "$ref": "#/parameters/AttachmentIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
- "name": "If-Match",
- "in": "header",
- "required": true,
- "description": "ETag of the Issue 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/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -3349,10 +4265,10 @@
],
"responses": {
"200": {
- "description": "The issue Attachment was successfully deleted."
+ "description": "API/Tag association successfully removed"
},
"204": {
- "description": "The issue Attachment was successfully deleted."
+ "description": "API/Tag association successfully removed by previous request or does not exist"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -3362,6 +4278,69 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags": {
+ "get": {
+ "tags": [
+ "ApiOperationsByTag"
+ ],
+ "operationId": "Operation_ListByTags",
+ "description": "Lists a collection of operations associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperationsByTags": {
+ "$ref": "./examples/ApiManagementListApiOperationsByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | 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|\n"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedOperations",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged Operations."
+ },
+ {
+ "$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": {
@@ -3385,7 +4364,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"name": "format",
@@ -3395,7 +4374,8 @@
"enum": [
"swagger-link",
"wadl-link",
- "wsdl-link"
+ "wsdl-link",
+ "openapi-link"
],
"x-ms-enum": {
"name": "ExportFormat",
@@ -3415,6 +4395,11 @@
"value": "wadl-link",
"description": "Export the Api Definition in WADL Schema to Storage Blob.",
"name": "Wadl"
+ },
+ {
+ "value": "openapi-link",
+ "description": "Export the Api Definition in OpenApi Specification 3.0 to Storage Blob.",
+ "name": "OpenApi3"
}
]
},
@@ -3526,7 +4511,10 @@
"swagger-json",
"swagger-link-json",
"wsdl",
- "wsdl-link"
+ "wsdl-link",
+ "openapi",
+ "openapi+json",
+ "openapi-link"
],
"x-ms-enum": {
"name": "ContentFormat",
@@ -3555,6 +4543,18 @@
{
"value": "wsdl-link",
"description": "The WSDL document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "openapi",
+ "description": "The contents are inline and Content Type is a OpenApi 3.0 Document in YAML format."
+ },
+ {
+ "value": "openapi+json",
+ "description": "The contents are inline and Content Type is a OpenApi 3.0 Document in JSON format."
+ },
+ {
+ "value": "openapi-link",
+ "description": "The Open Api 3.0 document is hosted on a publicly accessible internet address."
}
]
}
@@ -4624,94 +5624,5 @@
"description": "Issue Attachment contract 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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "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",
- "required": true,
- "type": "string",
- "description": "Operation identifier within an API. Must be unique in the current API Management service instance.",
- "minLength": 1,
- "maxLength": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- },
- "ReleaseIdParameter": {
- "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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- },
- "IssueIdParameter": {
- "name": "issueId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Issue identifier. Must be unique in the current API Management service instance.",
- "minLength": 1,
- "maxLength": 256,
- "pattern": "^[^*#&+:<>?]+$",
- "x-ms-parameter-location": "method"
- },
- "CommentIdParameter": {
- "name": "commentId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Comment identifier within an Issue. Must be unique in the current Issue.",
- "minLength": 1,
- "maxLength": 256,
- "pattern": "^[^*#&+:<>?]+$",
- "x-ms-parameter-location": "method"
- },
- "AttachmentIdParameter": {
- "name": "attachmentId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Attachment identifier within an Issue. Must be unique in the current Issue.",
- "minLength": 1,
- "maxLength": 256,
- "pattern": "^[^*#&+:<>?]+$",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json
new file mode 100644
index 000000000000..0267b7243a38
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json
@@ -0,0 +1,106 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing retrieve a collection of Apis associated with a tag in Azure API Management deployment.",
+ "version": "2018-06-01-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.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\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | 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 | |\n"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedApis",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged APIs."
+ },
+ {
+ "$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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimtagresources.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json
new file mode 100644
index 000000000000..a8cd4df082ec
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json
@@ -0,0 +1,521 @@
+{
+ "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": "2018-06-01-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.ApiManagement/service/{serviceName}/api-version-sets": {
+ "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": [
+ {
+ "$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\r\n"
+ },
+ {
+ "$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 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}": {
+ "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"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "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"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "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": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiVersionSetContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api Version Set was successfully created.",
+ "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"
+ }
+ }
+ },
+ "200": {
+ "description": "Api Version Set was successfully updated.",
+ "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"
+ }
+ }
+ }
+ },
+ "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": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiVersionSetUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Api Version Set details were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing 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": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ApiVersion Set details were successfully deleted."
+ },
+ "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
+ }
+ },
+ "description": "Api Version set base parameters"
+ },
+ "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",
+ "description": "Api VersionSet contract properties."
+ }
+ },
+ "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": {
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json
index 2693ed6cf265..11eb281c9c7b 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers": {
"get": {
"tags": [
- "AuthorizationServers"
+ "AuthorizationServer"
],
"operationId": "AuthorizationServer_ListByService",
"description": "Lists a collection of authorization servers defined within a service instance.",
@@ -58,7 +58,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -79,6 +79,12 @@
"schema": {
"$ref": "#/definitions/AuthorizationServerCollection"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -90,7 +96,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}": {
"head": {
"tags": [
- "AuthorizationServers"
+ "AuthorizationServer"
],
"operationId": "AuthorizationServer_GetEntityTag",
"description": "Gets the entity state (Etag) version of the authorizationServer specified by its identifier.",
@@ -107,7 +113,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/AuthenticationServerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -136,7 +142,7 @@
},
"get": {
"tags": [
- "AuthorizationServers"
+ "AuthorizationServer"
],
"operationId": "AuthorizationServer_Get",
"description": "Gets the details of the authorization server specified by its identifier.",
@@ -153,7 +159,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/AuthenticationServerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -185,7 +191,7 @@
},
"put": {
"tags": [
- "AuthorizationServers"
+ "AuthorizationServer"
],
"operationId": "AuthorizationServer_CreateOrUpdate",
"description": "Creates new authorization server or updates an existing authorization server.",
@@ -202,7 +208,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/AuthenticationServerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
},
{
"name": "parameters",
@@ -226,12 +232,24 @@
"responses": {
"201": {
"description": "Authorization server was successfully registered.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/AuthorizationServerContract"
}
},
"200": {
"description": "Authorization server is already registered.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/AuthorizationServerContract"
}
@@ -246,7 +264,7 @@
},
"patch": {
"tags": [
- "AuthorizationServers"
+ "AuthorizationServer"
],
"operationId": "AuthorizationServer_Update",
"description": "Updates the details of the authorization server specified by its identifier.",
@@ -263,7 +281,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/AuthenticationServerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
},
{
"name": "parameters",
@@ -298,7 +316,7 @@
},
"delete": {
"tags": [
- "AuthorizationServers"
+ "AuthorizationServer"
],
"operationId": "AuthorizationServer_Delete",
"description": "Deletes specific authorization server instance.",
@@ -315,7 +333,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/AuthenticationServerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -666,17 +684,5 @@
"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.",
- "minLength": 1,
- "maxLength": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json
index 035ce4e7e2d8..c50da34da2bb 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends": {
"get": {
"tags": [
- "Backends"
+ "Backend"
],
"operationId": "Backend_ListByService",
"description": "Lists a collection of backends in the specified service instance.",
@@ -58,7 +58,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|title | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|url | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -93,10 +93,10 @@
"x-ms-odata": "#/definitions/BackendContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}": {
"head": {
"tags": [
- "Backends"
+ "Backend"
],
"operationId": "Backend_GetEntityTag",
"description": "Gets the entity state (Etag) version of the backend specified by its identifier.",
@@ -113,7 +113,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/BackendIdParameter"
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -142,7 +142,7 @@
},
"get": {
"tags": [
- "Backends"
+ "Backend"
],
"operationId": "Backend_Get",
"description": "Gets the details of the backend specified by its identifier.",
@@ -159,7 +159,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/BackendIdParameter"
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -191,7 +191,7 @@
},
"put": {
"tags": [
- "Backends"
+ "Backend"
],
"operationId": "Backend_CreateOrUpdate",
"description": "Creates or Updates a backend.",
@@ -211,7 +211,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/BackendIdParameter"
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
},
{
"name": "parameters",
@@ -235,12 +235,24 @@
"responses": {
"201": {
"description": "Backend was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/BackendContract"
}
},
"200": {
"description": "The existing backend was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/BackendContract"
}
@@ -255,7 +267,7 @@
},
"patch": {
"tags": [
- "Backends"
+ "Backend"
],
"operationId": "Backend_Update",
"description": "Updates an existing backend.",
@@ -272,7 +284,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/BackendIdParameter"
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
},
{
"name": "parameters",
@@ -307,15 +319,15 @@
},
"delete": {
"tags": [
- "Backends"
+ "Backend"
],
"operationId": "Backend_Delete",
+ "description": "Deletes the specified backend.",
"x-ms-examples": {
"ApiManagementDeleteBackend": {
"$ref": "./examples/ApiManagementDeleteBackend.json"
}
},
- "description": "Deletes the specified backend.",
"parameters": [
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
@@ -324,7 +336,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/BackendIdParameter"
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -352,10 +364,10 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}/reconnect": {
"post": {
"tags": [
- "Backends"
+ "BackendReconnect"
],
"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.",
@@ -372,7 +384,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/BackendIdParameter"
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
},
{
"name": "parameters",
@@ -754,17 +766,5 @@
"description": "Properties to control reconnect requests."
}
},
- "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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json
new file mode 100644
index 000000000000..f3bd7bae16da
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json
@@ -0,0 +1,450 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Cache entity in your Azure API Management deployment. Azure API Management also allows for caching responses in an external Azure Cache for Redis. For more information refer to [External Redis Cache in ApiManagement](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-cache-external).",
+ "version": "2018-06-01-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.ApiManagement/service/{serviceName}/caches": {
+ "get": {
+ "tags": [
+ "Caches"
+ ],
+ "operationId": "Cache_ListByService",
+ "description": "Lists a collection of all external Caches in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListCaches": {
+ "$ref": "./examples/ApiManagementListCaches.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": "Returns a collection of Cache entity.",
+ "schema": {
+ "$ref": "#/definitions/CacheCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/CacheContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/caches/{cacheId}": {
+ "head": {
+ "tags": [
+ "Caches"
+ ],
+ "operationId": "Cache_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Cache specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadCache": {
+ "$ref": "./examples/ApiManagementHeadCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Cache 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": [
+ "Caches"
+ ],
+ "operationId": "Cache_Get",
+ "description": "Gets the details of the Cache specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetCache": {
+ "$ref": "./examples/ApiManagementGetCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Cache entity.",
+ "schema": {
+ "$ref": "#/definitions/CacheContract"
+ },
+ "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": [
+ "Caches"
+ ],
+ "operationId": "Cache_CreateOrUpdate",
+ "description": "Creates or updates an External Cache to be used in Api Management instance.",
+ "externalDocs": {
+ "description": "Use an external cache in Azure API Management",
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-cache-external"
+ },
+ "x-ms-examples": {
+ "ApiManagementCreateCache": {
+ "$ref": "./examples/ApiManagementCreateCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CacheContract"
+ },
+ "description": "Create or Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new Cache was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/CacheContract"
+ }
+ },
+ "200": {
+ "description": "The Cache details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/CacheContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Caches"
+ ],
+ "operationId": "Cache_Update",
+ "description": "Updates the details of the cache specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateCache": {
+ "$ref": "./examples/ApiManagementUpdateCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CacheUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The cache details were successfully updated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Caches"
+ ],
+ "operationId": "Cache_Delete",
+ "description": "Deletes specific Cache.",
+ "x-ms-examples": {
+ "ApiManagementDeleteCache": {
+ "$ref": "./examples/ApiManagementDeleteCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cache was successfully deleted."
+ },
+ "204": {
+ "description": "The Cache was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CacheCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CacheContract"
+ },
+ "description": "Page values."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Caches list representation."
+ },
+ "CacheContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CacheContractProperties",
+ "description": "Cache properties details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Cache details."
+ },
+ "CacheContractProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Cache description",
+ "maxLength": 2000
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Runtime connection string to cache",
+ "maxLength": 300
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Original uri of entity in external system cache points to",
+ "maxLength": 2000
+ }
+ },
+ "required": [
+ "connectionString"
+ ],
+ "description": "Properties of the Cache contract."
+ },
+ "CacheUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CacheUpdateProperties",
+ "description": "Cache update properties details."
+ }
+ },
+ "description": "Cache update details."
+ },
+ "CacheUpdateProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Cache description",
+ "maxLength": 2000
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Runtime connection string to cache",
+ "maxLength": 300
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Original uri of entity in external system cache points to",
+ "maxLength": 2000
+ }
+ },
+ "description": "Parameters supplied to the Update Cache operation."
+ }
+ },
+ "parameters": {
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json
index f545727ba475..2afaabe353c0 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates": {
"get": {
"tags": [
- "Certificates"
+ "Certificate"
],
"operationId": "Certificate_ListByService",
"description": "Lists a collection of all certificates in the specified service instance.",
@@ -58,7 +58,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | 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"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -96,7 +96,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}": {
"head": {
"tags": [
- "Certificates"
+ "Certificate"
],
"operationId": "Certificate_GetEntityTag",
"description": "Gets the entity state (Etag) version of the certificate specified by its identifier.",
@@ -113,7 +113,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/CertificateIdParameter"
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -142,7 +142,7 @@
},
"get": {
"tags": [
- "Certificates"
+ "Certificate"
],
"operationId": "Certificate_Get",
"description": "Gets the details of the certificate specified by its identifier.",
@@ -159,7 +159,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/CertificateIdParameter"
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -191,7 +191,7 @@
},
"put": {
"tags": [
- "Certificates"
+ "Certificate"
],
"operationId": "Certificate_CreateOrUpdate",
"description": "Creates or updates the certificate being used for authentication with the backend.",
@@ -212,7 +212,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/CertificateIdParameter"
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
},
{
"name": "parameters",
@@ -236,12 +236,24 @@
"responses": {
"201": {
"description": "The new certificate was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/CertificateContract"
}
},
"200": {
"description": "The certificate details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/CertificateContract"
}
@@ -256,7 +268,7 @@
},
"delete": {
"tags": [
- "Certificates"
+ "Certificate"
],
"operationId": "Certificate_Delete",
"description": "Deletes specific certificate.",
@@ -273,7 +285,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/CertificateIdParameter"
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -385,17 +397,5 @@
"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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json
index fa3f95b7bf20..07602c54efdc 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json
@@ -390,10 +390,17 @@
"200": {
"description": "Service was successfully deleted."
},
+ "202": {
+ "description": "The service delete request was Accepted.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
"204": {
- "description": "Service is already deleted."
+ "description": "The service does not exist."
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json
index b89fc886120a..2eff9e43f702 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics": {
"get": {
"tags": [
- "Diagnostics"
+ "Diagnostic"
],
"operationId": "Diagnostic_ListByService",
"description": "Lists all diagnostics of the API Management service instance.",
@@ -53,24 +53,24 @@
{
"$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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | 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"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -96,7 +96,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}": {
"head": {
"tags": [
- "Diagnostics"
+ "Diagnostic"
],
"operationId": "Diagnostic_GetEntityTag",
"description": "Gets the entity state (Etag) version of the Diagnostic specified by its identifier.",
@@ -113,7 +113,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/DiagnosticIdParameter"
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -124,7 +124,7 @@
],
"responses": {
"200": {
- "description": "Operation completed successfully.",
+ "description": "Gets the entity tag of the diagnostic",
"headers": {
"ETag": {
"description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
@@ -142,7 +142,7 @@
},
"get": {
"tags": [
- "Diagnostics"
+ "Diagnostic"
],
"operationId": "Diagnostic_Get",
"description": "Gets the details of the Diagnostic specified by its identifier.",
@@ -159,7 +159,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/DiagnosticIdParameter"
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -171,14 +171,14 @@
"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"
}
+ },
+ "schema": {
+ "$ref": "#/definitions/DiagnosticContract"
}
},
"default": {
@@ -191,7 +191,7 @@
},
"put": {
"tags": [
- "Diagnostics"
+ "Diagnostic"
],
"operationId": "Diagnostic_CreateOrUpdate",
"description": "Creates a new Diagnostic or updates an existing one.",
@@ -208,7 +208,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/DiagnosticIdParameter"
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
},
{
"name": "parameters",
@@ -232,12 +232,24 @@
"responses": {
"201": {
"description": "Diagnostic was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/DiagnosticContract"
}
},
"200": {
- "description": "Diagnostic was successfully updated.",
+ "description": "Diagnostic successfully updated",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/DiagnosticContract"
}
@@ -252,7 +264,7 @@
},
"patch": {
"tags": [
- "Diagnostics"
+ "Diagnostic"
],
"operationId": "Diagnostic_Update",
"description": "Updates the details of the Diagnostic specified by its identifier.",
@@ -269,7 +281,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/DiagnosticIdParameter"
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
},
{
"name": "parameters",
@@ -304,7 +316,7 @@
},
"delete": {
"tags": [
- "Diagnostics"
+ "Diagnostic"
],
"operationId": "Diagnostic_Delete",
"description": "Deletes the specified Diagnostic.",
@@ -321,7 +333,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/DiagnosticIdParameter"
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -497,17 +509,5 @@
"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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json
similarity index 91%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplate.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json
index 474c5fe667b6..43f937e0a87d 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplate.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json
@@ -53,6 +53,13 @@
{
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
+ },
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
},
@@ -72,6 +79,12 @@
"schema": {
"$ref": "#/definitions/EmailTemplateCollection"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -99,7 +112,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/TemplateNameParameter"
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -145,7 +158,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/TemplateNameParameter"
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -194,7 +207,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/TemplateNameParameter"
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
},
{
"name": "parameters",
@@ -255,7 +268,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/TemplateNameParameter"
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
},
{
"name": "parameters",
@@ -304,7 +317,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/TemplateNameParameter"
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -472,34 +485,5 @@
"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"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json
index a210fe8636d1..1df4931e2051 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups": {
"get": {
"tags": [
- "Groups"
+ "Group"
],
"operationId": "Group_ListByService",
"description": "Lists a collection of groups defined within a service instance.",
@@ -61,7 +61,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|aadObjectId | eq | |\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -82,6 +82,12 @@
"schema": {
"$ref": "#/definitions/GroupCollection"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -93,7 +99,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}": {
"head": {
"tags": [
- "Groups"
+ "Group"
],
"operationId": "Group_GetEntityTag",
"description": "Gets the entity state (Etag) version of the group specified by its identifier.",
@@ -110,7 +116,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -139,7 +145,7 @@
},
"get": {
"tags": [
- "Groups"
+ "Group"
],
"operationId": "Group_Get",
"description": "Gets the details of the group specified by its identifier.",
@@ -156,7 +162,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -188,7 +194,7 @@
},
"put": {
"tags": [
- "Groups"
+ "Group"
],
"operationId": "Group_CreateOrUpdate",
"description": "Creates or Updates a group.",
@@ -208,7 +214,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
"name": "parameters",
@@ -234,12 +240,24 @@
"description": "Group was created successfully.",
"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"
+ }
}
},
"200": {
"description": "Group already exists.",
"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": {
@@ -252,7 +270,7 @@
},
"patch": {
"tags": [
- "Groups"
+ "Group"
],
"operationId": "Group_Update",
"description": "Updates the details of the group specified by its identifier.",
@@ -269,7 +287,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
"name": "parameters",
@@ -304,7 +322,7 @@
},
"delete": {
"tags": [
- "Groups"
+ "Group"
],
"operationId": "Group_Delete",
"description": "Deletes specific group of the API Management service instance.",
@@ -321,7 +339,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -352,10 +370,10 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users": {
"get": {
"tags": [
- "GroupUsers"
+ "GroupUser"
],
"operationId": "GroupUser_List",
- "description": "Lists a collection of the members of the group, specified by its identifier.",
+ "description": "Lists a collection of user entities associated with the group.",
"x-ms-examples": {
"ApiManagementListGroupUsers": {
"$ref": "./examples/ApiManagementListGroupUsers.json"
@@ -369,14 +387,14 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | 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|registrationDate | ge, le, eq, ne, gt, lt | |\n|note | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -411,10 +429,10 @@
"x-ms-odata": "./apimusers.json#/definitions/UserContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}": {
"head": {
"tags": [
- "GroupUsers"
+ "GroupUser"
],
"operationId": "GroupUser_CheckEntityExists",
"description": "Checks that user entity specified by identifier is associated with the group entity.",
@@ -431,10 +449,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
- "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -447,7 +465,7 @@
"204": {
"description": "Entity exists"
},
- "404" : {
+ "404": {
"description": "Entity does not exists."
},
"default": {
@@ -458,12 +476,12 @@
}
}
},
- "put": {
+ "put": {
"tags": [
- "GroupUsers"
+ "GroupUser"
],
"operationId": "GroupUser_Create",
- "description": "Adds a user to the specified group.",
+ "description": "Add existing user to existing group",
"x-ms-examples": {
"ApiManagementCreateGroupUser": {
"$ref": "./examples/ApiManagementCreateGroupUser.json"
@@ -477,10 +495,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
- "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -512,7 +530,7 @@
},
"delete": {
"tags": [
- "GroupUsers"
+ "GroupUser"
],
"operationId": "GroupUser_Delete",
"description": "Remove existing user from existing group.",
@@ -529,10 +547,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
- "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -719,17 +737,5 @@
"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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json
index 65c6a9c7caf0..8fe405c2f213 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json
@@ -50,9 +50,6 @@
}
},
"parameters": [
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
@@ -61,11 +58,11 @@
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
"responses": {
"200": {
"description": "Lists a collection of Identity Providers.",
@@ -79,6 +76,9 @@
"$ref": "./apimanagement.json#/definitions/ErrorResponse"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
}
},
@@ -95,9 +95,6 @@
}
},
"parameters": [
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
@@ -105,20 +102,23 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/IdentityProviderNameParameter"
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"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"
- }
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"default": {
@@ -129,7 +129,7 @@
}
}
},
- "get": {
+ "get": {
"tags": [
"IdentityProvider"
],
@@ -141,9 +141,6 @@
}
},
"parameters": [
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
@@ -151,10 +148,13 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/IdentityProviderNameParameter"
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -197,7 +197,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/IdentityProviderNameParameter"
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
},
{
"name": "parameters",
@@ -221,12 +221,24 @@
"responses": {
"201": {
"description": "IdentityProvider configuration were successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/IdentityProviderContract"
}
},
"200": {
"description": "The existing Identity Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/IdentityProviderContract"
}
@@ -241,7 +253,7 @@
},
"patch": {
"tags": [
- "IdentityProviders"
+ "IdentityProvider"
],
"operationId": "IdentityProvider_Update",
"description": "Updates an existing IdentityProvider configuration.",
@@ -258,7 +270,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/IdentityProviderNameParameter"
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
},
{
"name": "parameters",
@@ -310,7 +322,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/IdentityProviderNameParameter"
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -477,6 +489,10 @@
"maxItems": 32,
"description": "List of Allowed Tenants when configuring Azure Active Directory login."
},
+ "authority":{
+ "type": "string",
+ "description": "OpenID Connect discovery endpoint hostname for AAD or AAD B2C."
+ },
"signupPolicyName": {
"type": "string",
"description": "Signup Policy Name. Only applies to AAD B2C Identity Provider.",
@@ -501,52 +517,5 @@
"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"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json
index 1d945725f8c0..8a03fe6a04e1 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json
@@ -37,12 +37,12 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues": {
"get": {
"tags": [
- "Issues"
+ "Issue"
],
"operationId": "Issue_ListByService",
"description": "Lists a collection of issues in the specified service instance.",
"x-ms-examples": {
- "ApiManagementListLoggers": {
+ "ApiManagementListIssues": {
"$ref": "./examples/ApiManagementListIssues.json"
}
},
@@ -58,7 +58,7 @@
"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| state | eq | |\n| userId | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|apiId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|title | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|authorName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|state | eq | |\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -92,6 +92,59 @@
},
"x-ms-odata": "./apimapis.json#/definitions/IssueContract"
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues/{issueId}": {
+ "get": {
+ "tags": [
+ "Issue"
+ ],
+ "operationId": "Issue_Get",
+ "description": "Gets API Management issue details",
+ "x-ms-examples": {
+ "ApiManagementGetIssue": {
+ "$ref": "./examples/ApiManagementGetIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the issue.",
+ "schema": {
+ "$ref": "./apimapis.json#/definitions/IssueContract"
+ },
+ "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"
+ }
+ }
+ }
+ }
}
- }
+ },
+ "definitions": {},
+ "parameters": {}
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json
index 260f0e4506d2..5ea7e2d338d5 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers": {
"get": {
"tags": [
- "Loggers"
+ "Logger"
],
"operationId": "Logger_ListByService",
"description": "Lists a collection of loggers in the specified service instance.",
@@ -61,7 +61,7 @@
"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 | |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\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|loggerType | eq | |\n|resourceId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -96,10 +96,10 @@
"x-ms-odata": "#/definitions/LoggerContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerId}": {
"head": {
"tags": [
- "Loggers"
+ "Logger"
],
"operationId": "Logger_GetEntityTag",
"description": "Gets the entity state (Etag) version of the logger specified by its identifier.",
@@ -116,7 +116,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/LoggerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -129,10 +129,10 @@
"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"
- }
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"default": {
@@ -143,9 +143,9 @@
}
}
},
- "get": {
+ "get": {
"tags": [
- "Loggers"
+ "Logger"
],
"operationId": "Logger_Get",
"description": "Gets the details of the logger specified by its identifier.",
@@ -162,7 +162,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/LoggerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -194,7 +194,7 @@
},
"put": {
"tags": [
- "Loggers"
+ "Logger"
],
"operationId": "Logger_CreateOrUpdate",
"description": "Creates or Updates a logger.",
@@ -214,7 +214,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/LoggerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
},
{
"name": "parameters",
@@ -240,12 +240,24 @@
"description": "Logger was successfully created.",
"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"
+ }
}
},
"200": {
"description": "The existing logger was successfully updated.",
"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": {
@@ -258,7 +270,7 @@
},
"patch": {
"tags": [
- "Loggers"
+ "Logger"
],
"operationId": "Logger_Update",
"description": "Updates an existing logger.",
@@ -275,7 +287,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/LoggerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
},
{
"name": "parameters",
@@ -310,7 +322,7 @@
},
"delete": {
"tags": [
- "Loggers"
+ "Logger"
],
"operationId": "Logger_Delete",
"description": "Deletes the specified logger.",
@@ -327,11 +339,18 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/LoggerIdParameter"
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
},
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Force deletion even if diagnostic is attached."
+ },
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
@@ -501,16 +520,5 @@
"description": "Parameters supplied to the Update Logger operation."
}
},
- "parameters": {
- "LoggerIdParameter": {
- "name": "loggerid",
- "in": "path",
- "required": true,
- "type": "string",
- "maxLength": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "description": "Logger identifier. Must be unique in the API Management service instance.",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json
index 7a5f342cfa43..5d04f28a46f4 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json
@@ -103,7 +103,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/LocationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/LocationNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -208,15 +208,5 @@
"description": "Network Status details."
}
},
- "parameters": {
- "LocationNameParameter": {
- "name": "locationName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Location in which the API Management service is deployed. This is one of the Azure Regions like West US, East US, South Central US.",
- "minLength": 1,
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json
index 62ae4c6dac5c..23de7e96bf19 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json
@@ -42,7 +42,7 @@
"operationId": "Notification_ListByService",
"description": "Lists a collection of properties defined within a service instance.",
"x-ms-examples": {
- "ApiManagementListNotification": {
+ "ApiManagementListNotifications": {
"$ref": "./examples/ApiManagementListNotifications.json"
}
},
@@ -72,6 +72,12 @@
"schema": {
"$ref": "#/definitions/NotificationCollection"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -99,7 +105,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -128,10 +134,10 @@
"Notification"
],
"operationId": "Notification_CreateOrUpdate",
- "description": "Updates an Notification.",
+ "description": "Create or Update API Management publisher notification.",
"x-ms-examples": {
- "ApiManagementGetNotification": {
- "$ref": "./examples/ApiManagementGetNotification.json"
+ "ApiManagementCreateNotification": {
+ "$ref": "./examples/ApiManagementCreateNotification.json"
}
},
"parameters": [
@@ -142,7 +148,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
@@ -173,13 +179,13 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers": {
"get": {
"tags": [
- "Notification"
+ "NotificationRecipientUser"
],
"operationId": "NotificationRecipientUser_ListByNotification",
"description": "Gets the list of the Notification Recipient User subscribed to the notification.",
"x-ms-examples": {
- "ApiManagementListNotificationRecipientUser": {
- "$ref": "./examples/ApiManagementListNotificationRecipientUser.json"
+ "ApiManagementListNotificationRecipientUsers": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientUsers.json"
}
},
"parameters": [
@@ -190,7 +196,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -215,7 +221,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{userId}": {
"head": {
"tags": [
"NotificationRecipientUser"
@@ -235,10 +241,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
- "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -251,9 +257,6 @@
"204": {
"description": "The User is subscribed to receive the notification."
},
- "404" : {
- "description": "Entity does not exists."
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -269,8 +272,8 @@
"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"
+ "ApiManagementCreateNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementCreateNotificationRecipientUser.json"
}
},
"parameters": [
@@ -281,10 +284,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
- "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -333,10 +336,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
- "$ref": "./apimusers.json#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -369,8 +372,8 @@
"operationId": "NotificationRecipientEmail_ListByNotification",
"description": "Gets the list of the Notification Recipient Emails subscribed to a notification.",
"x-ms-examples": {
- "ApiManagementListNotificationRecipientEmail": {
- "$ref": "./examples/ApiManagementListNotificationRecipientEmail.json"
+ "ApiManagementListNotificationRecipientEmails": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientEmails.json"
}
},
"parameters": [
@@ -381,7 +384,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -426,10 +429,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
- "$ref": "#/parameters/EmailParameter"
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -442,9 +445,6 @@
"204": {
"description": "The Users is subscribed to receive the notification."
},
- "404" : {
- "description": "The Users is not subscribed to receive the notification."
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -460,8 +460,8 @@
"operationId": "NotificationRecipientEmail_CreateOrUpdate",
"description": "Adds the Email address to the list of Recipients for the Notification.",
"x-ms-examples": {
- "ApiManagementCreateRecipientEmail": {
- "$ref": "./examples/ApiManagementCreateRecipientEmail.json"
+ "ApiManagementCreateNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementCreateNotificationRecipientEmail.json"
}
},
"parameters": [
@@ -472,10 +472,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
- "$ref": "#/parameters/EmailParameter"
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -524,10 +524,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/NotificationNameParameter"
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
},
{
- "$ref": "#/parameters/EmailParameter"
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -707,65 +707,5 @@
"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": true,
- "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"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json
index 3ac00661e497..ff6e22207da7 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json
@@ -37,10 +37,10 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders": {
"get": {
"tags": [
- "OpenIdConnectProviders"
+ "OpenidConnectProvider"
],
"operationId": "OpenIdConnectProvider_ListByService",
- "description": "Lists all OpenID Connect Providers.",
+ "description": "Lists of all the OpenId Connect Providers.",
"x-ms-examples": {
"ApiManagementListOpenIdConnectProviders": {
"$ref": "./examples/ApiManagementListOpenIdConnectProviders.json"
@@ -58,7 +58,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -79,6 +79,12 @@
"schema": {
"$ref": "#/definitions/OpenIdConnectProviderCollection"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -90,7 +96,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}": {
"head": {
"tags": [
- "OpenIdConnectProviders"
+ "OpenidConnectProvider"
],
"operationId": "OpenIdConnectProvider_GetEntityTag",
"description": "Gets the entity state (Etag) version of the openIdConnectProvider specified by its identifier.",
@@ -107,7 +113,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/OpenIdConnectIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -120,10 +126,10 @@
"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"
- }
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"default": {
@@ -134,9 +140,9 @@
}
}
},
- "get": {
+ "get": {
"tags": [
- "OpenIdConnectProviders"
+ "OpenidConnectProvider"
],
"operationId": "OpenIdConnectProvider_Get",
"description": "Gets specific OpenID Connect Provider.",
@@ -153,7 +159,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/OpenIdConnectIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -185,7 +191,7 @@
},
"put": {
"tags": [
- "OpenIdConnectProviders"
+ "OpenidConnectProvider"
],
"operationId": "OpenIdConnectProvider_CreateOrUpdate",
"description": "Creates or updates the OpenID Connect Provider.",
@@ -202,7 +208,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/OpenIdConnectIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
},
{
"name": "parameters",
@@ -226,12 +232,24 @@
"responses": {
"201": {
"description": "OpenIdConnect Provider was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/OpenidConnectProviderContract"
}
},
"200": {
"description": "OpenIdConnect Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/OpenidConnectProviderContract"
}
@@ -246,7 +264,7 @@
},
"patch": {
"tags": [
- "OpenIdConnectProviders"
+ "OpenidConnectProvider"
],
"operationId": "OpenIdConnectProvider_Update",
"description": "Updates the specific OpenID Connect Provider.",
@@ -263,7 +281,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/OpenIdConnectIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
},
{
"name": "parameters",
@@ -298,7 +316,7 @@
},
"delete": {
"tags": [
- "OpenIdConnectProviders"
+ "OpenidConnectProvider"
],
"operationId": "OpenIdConnectProvider_Delete",
"description": "Deletes specific OpenID Connect Provider of the API Management service instance.",
@@ -315,7 +333,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/OpenIdConnectIdParameter"
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -444,16 +462,5 @@
"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"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json
new file mode 100644
index 000000000000..b75f16bfad9e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json
@@ -0,0 +1,375 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Global Policies in Azure API Management deployment.",
+ "version": "2018-06-01-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.ApiManagement/service/{serviceName}/policies": {
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_ListByService",
+ "description": "Lists all the Global Policy definitions of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementListPolicies": {
+ "$ref": "./examples/ApiManagementListPolicies.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": "Returns an array of Policy Contracts.",
+ "schema": {
+ "$ref": "#/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}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Global policy definition in the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementHeadPolicy": {
+ "$ref": "./examples/ApiManagementHeadPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The 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": [
+ "Policy"
+ ],
+ "operationId": "Policy_Get",
+ "description": "Get the Global policy definition of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementGetPolicy": {
+ "$ref": "./examples/ApiManagementGetPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the Global policy definition of the Api Management service.",
+ "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": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_CreateOrUpdate",
+ "description": "Creates or updates the global policy configuration of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementCreatePolicy": {
+ "$ref": "./examples/ApiManagementCreatePolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Global policy configuration was successfully created.",
+ "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"
+ }
+ }
+ },
+ "200": {
+ "description": "Global policy configuration of the Api Management service was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_Delete",
+ "description": "Deletes the global policy configuration of the Api Management Service.",
+ "x-ms-examples": {
+ "ApiManagementDeletePolicy": {
+ "$ref": "./examples/ApiManagementDeletePolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Policy was successfully removed"
+ },
+ "204": {
+ "description": "Policy successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PolicyCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyContract"
+ },
+ "description": "Policy Contract value."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "The response of the list policy operation."
+ },
+ "PolicyContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyContractProperties",
+ "description": "Properties of the Policy."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Policy Contract details."
+ },
+ "PolicyContractProperties": {
+ "properties": {
+ "policyContent": {
+ "type": "string",
+ "description": "Json escaped Xml Encoded contents of the Policy."
+ },
+ "contentFormat": {
+ "type": "string",
+ "description": "Format of the policyContent.",
+ "enum": [
+ "xml",
+ "xml-link",
+ "rawxml",
+ "rawxml-link"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyContentFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "xml",
+ "description": "The contents are inline and Content type is an XML document."
+ },
+ {
+ "value": "xml-link",
+ "description": "The policy XML document is hosted on a http endpoint accessible from the API Management service."
+ },
+ {
+ "value": "rawxml",
+ "description": "The contents are inline and Content type is a non XML encoded policy document."
+ },
+ {
+ "value": "rawxml-link",
+ "description": "The policy document is not Xml encoded and is hosted on a http endpoint accessible from the API Management service."
+ }
+ ]
+ },
+ "default": "xml"
+ }
+ },
+ "required": [
+ "policyContent"
+ ],
+ "description": "Policy contract Properties."
+ }
+ },
+ "parameters": { }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json
new file mode 100644
index 000000000000..dd1a0dda82ce
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json
@@ -0,0 +1,138 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing retrieving a collection of policy snippets available in Azure API Management deployment.",
+ "version": "2018-06-01-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.ApiManagement/service/{serviceName}/policySnippets": {
+ "get": {
+ "tags": [
+ "PolicySnippet"
+ ],
+ "operationId": "PolicySnippets_ListByService",
+ "description": "Lists all policy snippets.",
+ "x-ms-examples": {
+ "ApiManagementListPolicySnippets": {
+ "$ref": "./examples/ApiManagementListPolicySnippets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "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": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of Policy Snippets.",
+ "schema": {
+ "$ref": "#/definitions/PolicySnippetsCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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."
+ }
+ },
+ "parameters": {}
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json
index eeeb2fd7b637..efed60a92b38 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json
@@ -83,7 +83,7 @@
"SignInSettings"
],
"operationId": "SignInSettings_Get",
- "description": "Get Sign-In settings.",
+ "description": "Get Sign In Settings for the Portal",
"x-ms-examples": {
"ApiManagementPortalSettingsGetSignIn": {
"$ref": "./examples/ApiManagementPortalSettingsGetSignIn.json"
@@ -115,6 +115,12 @@
"type": "string"
}
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
}
},
@@ -194,6 +200,9 @@
},
"description": "Create or update parameters."
},
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
@@ -266,7 +275,7 @@
"SignUpSettings"
],
"operationId": "SignUpSettings_Get",
- "description": "Get Sign-Up settings.",
+ "description": "Get Sign Up Settings for the Portal",
"x-ms-examples": {
"ApiManagementPortalSettingsGetSignUp": {
"$ref": "./examples/ApiManagementPortalSettingsGetSignUp.json"
@@ -298,6 +307,12 @@
"type": "string"
}
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
}
},
@@ -377,6 +392,9 @@
},
"description": "Create or update parameters."
},
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
@@ -449,7 +467,7 @@
"DelegationSettings"
],
"operationId": "DelegationSettings_Get",
- "description": "Get Delegation settings.",
+ "description": "Get Delegation Settings for the Portal.",
"x-ms-examples": {
"ApiManagementPortalSettingsGetDelegation": {
"$ref": "./examples/ApiManagementPortalSettingsGetDelegation.json"
@@ -481,6 +499,12 @@
"type": "string"
}
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
}
},
@@ -560,6 +584,9 @@
},
"description": "Create or update parameters."
},
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json
index e09e8d0a7491..7be672f95b6f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products": {
"get": {
"tags": [
- "Products"
+ "Product"
],
"operationId": "Product_ListByService",
"description": "Lists a collection of products in the specified service instance.",
@@ -58,7 +58,7 @@
"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 | |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | 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 | |\n|groups | | |\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -73,6 +73,13 @@
"type": "boolean",
"description": "When set to true, the response contains an array of groups that have visibility to the product. The default is false."
},
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Products which are part of a specific tag."
+ },
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
@@ -103,7 +110,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}": {
"head": {
"tags": [
- "Products"
+ "Product"
],
"operationId": "Product_GetEntityTag",
"description": "Gets the entity state (Etag) version of the product specified by its identifier.",
@@ -120,7 +127,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -149,7 +156,7 @@
},
"get": {
"tags": [
- "Products"
+ "Product"
],
"operationId": "Product_Get",
"description": "Gets the details of the product specified by its identifier.",
@@ -166,7 +173,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -198,13 +205,13 @@
},
"put": {
"tags": [
- "Products"
+ "Product"
],
"operationId": "Product_CreateOrUpdate",
"description": "Creates or Updates a product.",
"x-ms-examples": {
- "ApiManagementCreateProductBasic": {
- "$ref": "./examples/ApiManagementCreateProductBasic.json"
+ "ApiManagementCreateProduct": {
+ "$ref": "./examples/ApiManagementCreateProduct.json"
}
},
"parameters": [
@@ -215,7 +222,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
"name": "parameters",
@@ -241,12 +248,24 @@
"description": "Product was successfully created.",
"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"
+ }
}
},
"200": {
"description": "Product was successfully updated.",
"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": {
@@ -259,13 +278,13 @@
},
"patch": {
"tags": [
- "Products"
+ "Product"
],
"operationId": "Product_Update",
- "description": "Update product.",
+ "description": "Update existing product details.",
"x-ms-examples": {
- "ApiManagementUpdateProductBasic": {
- "$ref": "./examples/ApiManagementUpdateProductBasic.json"
+ "ApiManagementUpdateProduct": {
+ "$ref": "./examples/ApiManagementUpdateProduct.json"
}
},
"parameters": [
@@ -276,7 +295,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
"name": "parameters",
@@ -299,7 +318,7 @@
],
"responses": {
"204": {
- "description": "No Content in case of Update Successful."
+ "description": "Product details was successfully updated."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -311,7 +330,7 @@
},
"delete": {
"tags": [
- "Products"
+ "Product"
],
"operationId": "Product_Delete",
"description": "Delete product.",
@@ -328,7 +347,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
},
{
"name": "deleteSubscriptions",
@@ -337,9 +359,6 @@
"type": "boolean",
"description": "Delete existing subscriptions associated with the product or not."
},
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
- },
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
@@ -349,10 +368,10 @@
],
"responses": {
"200": {
- "description": "The product was successfully deleted."
+ "description": "Product was successfully removed."
},
"204": {
- "description": "The product was successfully deleted."
+ "description": "Product was successfully removed by previous request or does not exist."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -366,7 +385,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis": {
"get": {
"tags": [
- "ProductApis"
+ "ProductApi"
],
"operationId": "ProductApi_ListByProduct",
"description": "Lists a collection of the APIs associated with a product.",
@@ -383,14 +402,14 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.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 |\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"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | 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"
@@ -428,7 +447,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}": {
"head": {
"tags": [
- "ProductApis"
+ "ProductApi"
],
"operationId": "ProductApi_CheckEntityExists",
"description": "Checks that API entity specified by identifier is associated with the Product entity.",
@@ -445,10 +464,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
- "$ref": "./apimapis.json#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -461,9 +480,6 @@
"204": {
"description": "Entity exists"
},
- "404": {
- "description": "API is not associated with the product."
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -474,7 +490,7 @@
},
"put": {
"tags": [
- "ProductApis"
+ "ProductApi"
],
"operationId": "ProductApi_CreateOrUpdate",
"description": "Adds an API to the specified product.",
@@ -491,10 +507,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
- "$ref": "./apimapis.json#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -526,7 +542,7 @@
},
"delete": {
"tags": [
- "ProductApis"
+ "ProductApi"
],
"operationId": "ProductApi_Delete",
"description": "Deletes the specified API from the specified product.",
@@ -543,10 +559,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
- "$ref": "./apimapis.json#/parameters/ApiIdRevParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -557,10 +573,10 @@
],
"responses": {
"200": {
- "description": "The API was successfully removed from the product."
+ "description": "API was successfully removed from product"
},
"204": {
- "description": "The API was successfully removed from the product."
+ "description": "API successfully removed by previous request or does not exist in product"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -574,7 +590,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups": {
"get": {
"tags": [
- "ProductGroups"
+ "ProductGroup"
],
"operationId": "ProductGroup_ListByProduct",
"description": "Lists the collection of developer groups associated with the specified product.",
@@ -591,14 +607,14 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.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 |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq, ne | N/A |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | |\n|displayName | eq, ne | |\n|description | eq, ne | |\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -636,7 +652,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}": {
"head": {
"tags": [
- "ProductGroups"
+ "ProductGroup"
],
"operationId": "ProductGroup_CheckEntityExists",
"description": "Checks that Group entity specified by identifier is associated with the Product entity.",
@@ -653,10 +669,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
- "$ref": "./apimgroups.json#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -669,9 +685,6 @@
"204": {
"description": "The Group is associated with the Product."
},
- "404": {
- "description": "The Group entity is not associated with the Product."
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -682,7 +695,7 @@
},
"put": {
"tags": [
- "ProductGroups"
+ "ProductGroup"
],
"operationId": "ProductGroup_CreateOrUpdate",
"description": "Adds the association between the specified developer group with the specified product.",
@@ -699,10 +712,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
- "$ref": "./apimgroups.json#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -734,7 +747,7 @@
},
"delete": {
"tags": [
- "ProductGroups"
+ "ProductGroup"
],
"operationId": "ProductGroup_Delete",
"description": "Deletes the association between the specified group and product.",
@@ -751,10 +764,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
- "$ref": "./apimgroups.json#/parameters/GroupIdParameter"
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -782,7 +795,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions": {
"get": {
"tags": [
- "ProductSubscriptions"
+ "ProductSubscription"
],
"operationId": "ProductSubscriptions_List",
"description": "Lists the collection of subscriptions to the specified product.",
@@ -799,14 +812,14 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.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 |\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 | |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|ownerId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|scope | 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 | |\n|user | | |\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -849,8 +862,8 @@
"operationId": "ProductPolicy_ListByProduct",
"description": "Get the policy configuration at the Product level.",
"x-ms-examples": {
- "ApiManagementListProductPolicy": {
- "$ref": "./examples/ApiManagementListProductPolicy.json"
+ "ApiManagementListProductPolicies": {
+ "$ref": "./examples/ApiManagementListProductPolicies.json"
}
},
"parameters": [
@@ -861,26 +874,20 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"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"
- }
+ "$ref": "./apimpolicies.json#/definitions/PolicyCollection"
}
},
"default": {
@@ -912,16 +919,16 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -961,23 +968,23 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
"200": {
"description": "Product Policy information.",
"schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ "$ref": "./apimpolicies.json#/definitions/PolicyContract"
},
"headers": {
"ETag": {
@@ -1013,7 +1020,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
@@ -1024,10 +1031,10 @@
{
"name": "parameters",
"in": "body",
+ "required": true,
"schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ "$ref": "./apimpolicies.json#/definitions/PolicyContract"
},
- "required": true,
"description": "The policy contents to apply."
},
{
@@ -1041,13 +1048,25 @@
"201": {
"description": "Product policy configuration was successfully created.",
"schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ "$ref": "./apimpolicies.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"200": {
"description": "Product policy configuration of the tenant was successfully updated.",
"schema": {
- "$ref": "./apimanagement.json#/definitions/PolicyContract"
+ "$ref": "./apimpolicies.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": {
@@ -1077,7 +1096,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
@@ -1108,16 +1127,16 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/productsByTags": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags": {
"get": {
"tags": [
- "ProductsByTags"
+ "ProductTag"
],
- "operationId": "Product_ListByTags",
- "description": "Lists a collection of products associated with tags.",
+ "operationId": "Tag_ListByProduct",
+ "description": "Lists all Tags associated with the Product.",
"x-ms-examples": {
- "ApiManagementListProductsByTags": {
- "$ref": "./examples/ApiManagementListProductsByTags.json"
+ "ApiManagementListProductTags": {
+ "$ref": "./examples/ApiManagementListProductTags.json"
}
},
"parameters": [
@@ -1127,12 +1146,15 @@
{
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
+ {
+ "$ref": "./apimanagement.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 |\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 | substringof, contains, startswith, endswith |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -1145,28 +1167,227 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "includeNotTaggedProducts",
- "in": "query",
- "type": "boolean",
- "required": false,
- "default": false,
- "description": "Include not tagged products in response"
}
],
"responses": {
"200": {
- "description": "Lists a collection of TagResource entities.",
+ "description": "The operation returns a collection of tags associated with the Product entity.",
"schema": {
- "$ref": "./apimtagresources.json#/definitions/TagResourceCollection"
+ "$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": "./apimtagresources.json#/definitions/TagResourceContract"
+ "x-ms-odata": "./apimtags.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ProductTag"
+ ],
+ "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": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/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": [
+ "ProductTag"
+ ],
+ "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": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/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": [
+ "ProductTag"
+ ],
+ "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": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$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": [
+ "ProductTag"
+ ],
+ "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": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully detached the tag from the Product."
+ },
+ "204": {
+ "description": "Successfully detached the tag from the Product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
}
}
},
@@ -1288,17 +1509,5 @@
"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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json
new file mode 100644
index 000000000000..007367ff9bdd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json
@@ -0,0 +1,106 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations to retrieve Products by Tags in Azure API Management deployment.",
+ "version": "2018-06-01-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.ApiManagement/service/{serviceName}/productsByTags": {
+ "get": {
+ "tags": [
+ "ProductsByTag"
+ ],
+ "operationId": "Product_ListByTags",
+ "description": "Lists a collection of products associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListProductsByTags": {
+ "$ref": "./examples/ApiManagementListProductsByTags.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\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | 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 | substringof, contains, startswith, endswith|\n"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedProducts",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged Products."
+ },
+ {
+ "$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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./apimtagresources.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json
index 851f252c9340..5cd10bb699a7 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json
@@ -61,7 +61,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|tags | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -82,6 +82,12 @@
"schema": {
"$ref": "#/definitions/PropertyCollection"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -110,7 +116,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/PropertyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PropertyIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -123,10 +129,10 @@
"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"
- }
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
}
},
"default": {
@@ -137,7 +143,7 @@
}
}
},
- "get": {
+ "get": {
"tags": [
"Property"
],
@@ -156,7 +162,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/PropertyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PropertyIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -205,7 +211,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/PropertyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PropertyIdParameter"
},
{
"name": "parameters",
@@ -231,12 +237,24 @@
"description": "Property was successfully created.",
"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"
+ }
}
},
"200": {
"description": "Property was successfully updated.",
"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": {
@@ -266,7 +284,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/PropertyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PropertyIdParameter"
},
{
"name": "parameters",
@@ -318,7 +336,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/PropertyIdParameter"
+ "$ref": "./apimanagement.json#/parameters/PropertyIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -457,16 +475,5 @@
"description": "Property Entity Base Parameters set."
}
},
- "parameters": {
- "PropertyIdParameter": {
- "name": "propId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Identifier of the property.",
- "maxLength": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": {}
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json
index 6eaa1bc25474..c7b845017482 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json
@@ -51,9 +51,6 @@
}
},
"parameters": [
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
@@ -61,10 +58,13 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/QuotaCounterKeyParameter"
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -101,7 +101,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/QuotaCounterKeyParameter"
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
},
{
"name": "parameters",
@@ -149,9 +149,6 @@
}
},
"parameters": [
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
{
"$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
},
@@ -159,13 +156,16 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/QuotaCounterKeyParameter"
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
},
{
- "$ref": "#/parameters/QuotaPeriodKeyParameter"
+ "$ref": "./apimanagement.json#/parameters/QuotaPeriodKeyParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -202,10 +202,10 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/QuotaCounterKeyParameter"
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
},
{
- "$ref": "#/parameters/QuotaPeriodKeyParameter"
+ "$ref": "./apimanagement.json#/parameters/QuotaPeriodKeyParameter"
},
{
"name": "parameters",
@@ -320,22 +320,5 @@
"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"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json
new file mode 100644
index 000000000000..6bcca3ca0b09
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json
@@ -0,0 +1,85 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2018-06-01-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.ApiManagement/service/{serviceName}/regions": {
+ "get": {
+ "tags": [
+ "Region"
+ ],
+ "operationId": "Region_ListByService",
+ "description": "Lists all azure regions in which the service exists.",
+ "x-ms-examples": {
+ "ApiManagementListRegions": {
+ "$ref": "./examples/ApiManagementListRegions.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": "Lists of Regions in which the service is deployed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/RegionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json
index 01e7e52edcc7..79041ddeb69e 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions": {
"get": {
"tags": [
- "Subscriptions"
+ "Subscription"
],
"operationId": "Subscription_List",
"description": "Lists all subscriptions of the API Management service instance.",
@@ -58,7 +58,7 @@
"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| ownerId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| scope | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|ownerId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|scope | 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 | |\n|user | | |\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -96,7 +96,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}": {
"head": {
"tags": [
- "Subscriptions"
+ "Subscription"
],
"operationId": "Subscription_GetEntityTag",
"description": "Gets the entity state (Etag) version of the apimanagement subscription specified by its identifier.",
@@ -113,7 +113,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -142,7 +142,7 @@
},
"get": {
"tags": [
- "Subscriptions"
+ "Subscription"
],
"operationId": "Subscription_Get",
"description": "Gets the specified Subscription entity.",
@@ -159,7 +159,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -191,7 +191,7 @@
},
"put": {
"tags": [
- "Subscriptions"
+ "Subscription"
],
"operationId": "Subscription_CreateOrUpdate",
"description": "Creates or updates the subscription of specified user to the specified product.",
@@ -208,7 +208,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
},
{
"name": "parameters",
@@ -220,7 +220,7 @@
"description": "Create parameters."
},
{
- "$ref": "#/parameters/NotifySubscriptionStateChangeParameter"
+ "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
@@ -235,12 +235,24 @@
"responses": {
"201": {
"description": "The user was successfully subscribed to the product.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/SubscriptionContract"
}
},
"200": {
"description": "The user already subscribed to the product.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/SubscriptionContract"
}
@@ -255,7 +267,7 @@
},
"patch": {
"tags": [
- "Subscriptions"
+ "Subscription"
],
"operationId": "Subscription_Update",
"description": "Updates the details of a subscription specified by its identifier.",
@@ -272,7 +284,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
},
{
"name": "parameters",
@@ -284,7 +296,7 @@
"description": "Update parameters."
},
{
- "$ref": "#/parameters/NotifySubscriptionStateChangeParameter"
+ "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -310,7 +322,7 @@
},
"delete": {
"tags": [
- "Subscriptions"
+ "Subscription"
],
"operationId": "Subscription_Delete",
"description": "Deletes the specified subscription.",
@@ -327,7 +339,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -363,8 +375,8 @@
"operationId": "Subscription_RegeneratePrimaryKey",
"description": "Regenerates primary key of existing subscription of the API Management service instance.",
"x-ms-examples": {
- "ApiManagementSubscriptionRegenerateKey": {
- "$ref": "./examples/ApiManagementSubscriptionRegenerateKey.json"
+ "ApiManagementSubscriptionRegeneratePrimaryKey": {
+ "$ref": "./examples/ApiManagementSubscriptionRegeneratePrimaryKey.json"
}
},
"parameters": [
@@ -375,7 +387,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -405,8 +417,8 @@
"operationId": "Subscription_RegenerateSecondaryKey",
"description": "Regenerates secondary key of existing subscription of the API Management service instance.",
"x-ms-examples": {
- "ApiManagementSubscriptionRegenerateKey": {
- "$ref": "./examples/ApiManagementSubscriptionRegenerateKey.json"
+ "ApiManagementSubscriptionRegenerateSecondaryKey": {
+ "$ref": "./examples/ApiManagementSubscriptionRegenerateSecondaryKey.json"
}
},
"parameters": [
@@ -417,7 +429,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionEntityIdParameter"
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -476,7 +488,7 @@
"properties": {
"ownerId": {
"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."
+ "description": "The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{userId} where {userId} is a user identifier."
},
"scope": {
"type": "string",
@@ -574,7 +586,7 @@
"properties": {
"ownerId": {
"type": "string",
- "description": "User (user id path) for whom subscription is being created in form /users/{uid}"
+ "description": "User (user id path) for whom subscription is being created in form /users/{userId}"
},
"scope": {
"type": "string",
@@ -639,7 +651,7 @@
"properties": {
"ownerId": {
"type": "string",
- "description": "User identifier path: /users/{uid}"
+ "description": "User identifier path: /users/{userId}"
},
"scope": {
"type": "string",
@@ -694,24 +706,5 @@
"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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- },
- "NotifySubscriptionStateChangeParameter": {
- "name": "notify",
- "in": "query",
- "required": false,
- "type": "boolean",
- "description": "Notify change in Subscription State. \n - If false, do not send any email notification for change of state of subscription \n - If true, send email notification of change of state of subscription ",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters":{}
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json
index d3c2b30a9d79..58d31862b1b6 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json
@@ -9,7 +9,9 @@
"schemes": [
"https"
],
- "consumes": [],
+ "consumes": [
+ "application/json"
+ ],
"produces": [
"application/json"
],
@@ -35,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources": {
"get": {
"tags": [
- "TagResources"
+ "TagResource"
],
"operationId": "TagResource_ListByService",
"description": "Lists a collection of resources associated with tags.",
@@ -56,7 +58,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|aid | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | 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 | eq | |\n|isCurrent | eq | |\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -77,6 +79,12 @@
"schema": {
"$ref": "#/definitions/TagResourceCollection"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
},
"x-ms-pageable": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json
index ea5afcdec05c..b4b29ee1ba27 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json
@@ -37,7 +37,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags": {
"get": {
"tags": [
- "Tags"
+ "Tag"
],
"operationId": "Tag_ListByService",
"description": "Lists a collection of tags defined within a service instance.",
@@ -58,7 +58,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -67,1035 +67,11 @@
"$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
},
{
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "scope",
- "in": "query",
- "type": "string",
- "required": false,
- "description": "Scope like 'apis', 'products' or 'apis/{apiId}"
- }
- ],
- "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 successfully.",
- "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."
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
- },
- {
- "$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"
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The tag was successfully deleted."
- },
- "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/ApiIdRevParameter"
- },
- {
- "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/ApiIdRevParameter"
- },
- {
- "$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/ApiIdRevParameter"
- },
- {
- "$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/ApiIdRevParameter"
- },
- {
- "$ref": "#/parameters/TagIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
- },
- {
- "$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/ApiIdRevParameter"
- },
- {
- "$ref": "#/parameters/TagIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully detached the tag from the Api."
- },
- "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/ApiIdRevParameter"
- },
- {
- "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/ApiIdRevParameter"
- },
- {
- "$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/ApiIdRevParameter"
- },
- {
- "$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 description 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/ApiIdRevParameter"
- },
- {
- "$ref": "#/parameters/TagIdParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/TagDescriptionCreateParameters"
- },
- "description": "Create parameters."
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
- },
- {
- "$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/ApiIdRevParameter"
- },
- {
- "$ref": "#/parameters/TagIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted tag description for the Api."
- },
- "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/ApiIdRevParameter"
- },
- {
- "$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/ApiIdRevParameter"
- },
- {
- "$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/ApiIdRevParameter"
- },
- {
- "$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/ApiIdRevParameter"
- },
- {
- "$ref": "./apimapis.json#/parameters/OperationIdParameter"
- },
- {
- "$ref": "#/parameters/TagIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ "name": "scope",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Scope like 'apis', 'products' or 'apis/{apiId}"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1105,69 +81,11 @@
}
],
"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.",
+ "description": "Lists a collection of Tag entities.",
"schema": {
- "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ "$ref": "./apimtags.json#/definitions/TagCollection"
}
- }
- }
- },
- "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/ApiIdRevParameter"
- },
- {
- "$ref": "./apimapis.json#/parameters/OperationIdParameter"
- },
- {
- "$ref": "#/parameters/TagIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully detached the tag from the Operation."
- },
- "204": {
- "description": "Successfully detached the tag from the Operation."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -1175,83 +93,23 @@
"$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/ApiIdRevParameter"
- },
- {
- "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"
- },
- {
- "name": "includeNotTaggedOperations",
- "in": "query",
- "type": "boolean",
- "required": false,
- "default": false,
- "description": "Include not tagged operations in response"
- }
- ],
- "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-odata": "./apimtags.json#/definitions/TagContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags": {
- "get": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}": {
+ "head": {
"tags": [
- "ProductTags"
+ "Tag"
],
- "operationId": "Tag_ListByProduct",
- "description": "Lists all Tags associated with the Product.",
+ "operationId": "Tag_GetEntityState",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
"x-ms-examples": {
- "ApiManagementGetTagsForProduct": {
- "$ref": "./examples/ApiManagementGetTagsForProduct.json"
+ "ApiManagementHeadTag": {
+ "$ref": "./examples/ApiManagementHeadTag.json"
}
},
"parameters": [
@@ -1262,20 +120,7 @@
"$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/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1286,9 +131,12 @@
],
"responses": {
"200": {
- "description": "The operation returns a collection of tags associated with the Product entity.",
- "schema": {
- "$ref": "./apimtags.json#/definitions/TagCollection"
+ "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": {
@@ -1297,23 +145,17 @@
"$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": {
+ }
+ },
+ "get": {
"tags": [
- "ProductTags"
+ "Tag"
],
- "operationId": "Tag_GetEntityStateByProduct",
- "description": "Gets the entity state version of the tag specified by its identifier.",
+ "operationId": "Tag_Get",
+ "description": "Gets the details of the tag specified by its identifier.",
"x-ms-examples": {
- "ApiManagementHeadProductTag": {
- "$ref": "./examples/ApiManagementHeadProductTag.json"
+ "ApiManagementGetTag": {
+ "$ref": "./examples/ApiManagementGetTag.json"
}
},
"parameters": [
@@ -1324,10 +166,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimproducts.json#/parameters/ProductIdParameter"
- },
- {
- "$ref": "#/parameters/TagIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1338,7 +177,10 @@
],
"responses": {
"200": {
- "description": "Empty response body, ETag header entity state version.",
+ "description": "The response body contains the specified Tag entity.",
+ "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.",
@@ -1354,15 +196,15 @@
}
}
},
- "get": {
+ "put": {
"tags": [
- "ProductTags"
+ "Tag"
],
- "operationId": "Tag_GetByProduct",
- "description": "Get tag associated with the Product.",
+ "operationId": "Tag_CreateOrUpdate",
+ "description": "Creates a tag.",
"x-ms-examples": {
- "ApiManagementGetProductTag": {
- "$ref": "./examples/ApiManagementGetProductTag.json"
+ "ApiManagementCreateTag": {
+ "$ref": "./examples/ApiManagementCreateTag.json"
}
},
"parameters": [
@@ -1373,10 +215,19 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimproducts.json#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagCreateUpdateParameters"
+ },
+ "description": "Create parameters."
},
{
- "$ref": "#/parameters/TagIdParameter"
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1386,16 +237,28 @@
}
],
"responses": {
- "200": {
- "description": "Gets the details of the tag specified by its identifier.",
+ "201": {
+ "description": "Tag was created successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "./apimtags.json#/definitions/TagContract"
- },
+ }
+ },
+ "200": {
+ "description": "Tag already exists.",
"headers": {
"ETag": {
"description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
"type": "string"
}
+ },
+ "schema": {
+ "$ref": "./apimtags.json#/definitions/TagContract"
}
},
"default": {
@@ -1406,15 +269,15 @@
}
}
},
- "put": {
+ "patch": {
"tags": [
- "ProductTags"
+ "Tag"
],
- "operationId": "Tag_AssignToProduct",
- "description": "Assign tag to the Product.",
+ "operationId": "Tag_Update",
+ "description": "Updates the details of the tag specified by its identifier.",
"x-ms-examples": {
- "ApiManagementCreateProductTag": {
- "$ref": "./examples/ApiManagementCreateProductTag.json"
+ "ApiManagementUpdateTag": {
+ "$ref": "./examples/ApiManagementUpdateTag.json"
}
},
"parameters": [
@@ -1425,13 +288,19 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimproducts.json#/parameters/ProductIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
- "$ref": "#/parameters/TagIdParameter"
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagCreateUpdateParameters"
+ },
+ "description": "Update parameters."
},
{
- "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -1441,17 +310,8 @@
}
],
"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"
- }
+ "204": {
+ "description": "The tag details were successfully updated."
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -1463,13 +323,13 @@
},
"delete": {
"tags": [
- "ProductTags"
+ "Tag"
],
- "operationId": "Tag_DetachFromProduct",
- "description": "Detach the tag from the Product.",
+ "operationId": "Tag_Delete",
+ "description": "Deletes specific tag of the API Management service instance.",
"x-ms-examples": {
- "ApiManagementDeleteProductTag": {
- "$ref": "./examples/ApiManagementDeleteProductTag.json"
+ "ApiManagementDeleteTag": {
+ "$ref": "./examples/ApiManagementDeleteTag.json"
}
},
"parameters": [
@@ -1480,10 +340,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "./apimproducts.json#/parameters/ProductIdParameter"
- },
- {
- "$ref": "#/parameters/TagIdParameter"
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -1497,10 +354,10 @@
],
"responses": {
"200": {
- "description": "Successfully detached the tag from the Product."
+ "description": "Tag successfully removed"
},
"204": {
- "description": "Successfully detached the tag from the Product."
+ "description": "Tag successfully removed by previous request or does not exist"
},
"default": {
"description": "Error response describing why the operation failed.",
@@ -1518,7 +375,7 @@
"value": {
"type": "array",
"items": {
- "$ref": "#/definitions/TagContract"
+ "$ref": "./apimtags.json#/definitions/TagContract"
},
"description": "Page values."
},
@@ -1573,7 +430,7 @@
"value": {
"type": "array",
"items": {
- "$ref": "#/definitions/TagDescriptionContract"
+ "$ref": "./apimtags.json#/definitions/TagDescriptionContract"
},
"description": "Page values."
},
@@ -1644,17 +501,5 @@
"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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": {}
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json
index 487a7b169075..bdd1200b96a7 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json
@@ -35,12 +35,58 @@
},
"paths": {
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}": {
+ "head": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_GetEntityTag",
+ "description": "Tenant access metadata",
+ "x-ms-examples": {
+ "ApiManagementHeadTenantAccess": {
+ "$ref": "./examples/ApiManagementHeadTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "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": [
"TenantAccess"
],
"operationId": "TenantAccess_Get",
- "description": "Get tenant access information details.",
+ "description": "Get tenant access information details",
"x-ms-examples": {
"ApiManagementGetTenantAccess": {
"$ref": "./examples/ApiManagementGetTenantAccess.json"
@@ -60,7 +106,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/AccessParameter"
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
}
],
"responses": {
@@ -75,6 +121,12 @@
"type": "string"
}
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
}
}
},
@@ -106,7 +158,7 @@
"description": "Parameters supplied to retrieve the Tenant Access Information."
},
{
- "$ref": "#/parameters/AccessParameter"
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
},
{
"$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
@@ -137,7 +189,7 @@
"TenantAccess"
],
"operationId": "TenantAccess_RegeneratePrimaryKey",
- "description": "Regenerate primary access key.",
+ "description": "Regenerate primary access key",
"x-ms-examples": {
"ApiManagementTenantAccessRegenerateKey": {
"$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
@@ -157,7 +209,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/AccessParameter"
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
}
],
"responses": {
@@ -179,7 +231,7 @@
"TenantAccess"
],
"operationId": "TenantAccess_RegenerateSecondaryKey",
- "description": "Regenerate secondary access key.",
+ "description": "Regenerate secondary access key",
"x-ms-examples": {
"ApiManagementTenantAccessRegenerateKey": {
"$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
@@ -199,7 +251,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/AccessParameter"
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
}
],
"responses": {
@@ -241,7 +293,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/AccessParameter"
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
}
],
"responses": {
@@ -292,7 +344,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/AccessParameter"
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
}
],
"responses": {
@@ -334,7 +386,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/AccessParameter"
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
}
],
"responses": {
@@ -389,7 +441,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/ConfigurationParameter"
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
}
],
"responses": {
@@ -451,7 +503,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/ConfigurationParameter"
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
}
],
"responses": {
@@ -509,7 +561,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/ConfigurationParameter"
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
}
],
"responses": {
@@ -558,7 +610,7 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/ConfigurationParameter"
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
}
],
"responses": {
@@ -737,36 +789,5 @@
"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"
- }
- }
+ "parameters": {}
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json
index 8e7367a34444..f4ff50b10052 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json
@@ -34,52 +34,10 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identity": {
- "get": {
- "tags": [
- "Users"
- ],
- "operationId": "User_GetIdentity",
- "description": "Returns calling user identity information.",
- "x-ms-examples": {
- "ApiManagementListUsers": {
- "$ref": "./examples/ApiManagementGetUserIdentity.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": "Current user APIM id.",
- "schema": {
- "$ref": "#/definitions/CurrentUserIdentity"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "./apimanagement.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users": {
"get": {
"tags": [
- "Users"
+ "User"
],
"operationId": "User_ListByService",
"description": "Lists a collection of registered users in the specified service instance.",
@@ -100,7 +58,7 @@
"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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | 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|registrationDate | ge, le, eq, ne, gt, lt | |\n|note | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|groups | | |\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -108,6 +66,11 @@
{
"$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
},
+ {
+ "name": "expandGroups",
+ "in": "query",
+ "type": "boolean"
+ },
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
},
@@ -135,10 +98,10 @@
"x-ms-odata": "#/definitions/UserContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}": {
"head": {
"tags": [
- "Users"
+ "User"
],
"operationId": "User_GetEntityTag",
"description": "Gets the entity state (Etag) version of the user specified by its identifier.",
@@ -155,7 +118,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -184,7 +147,7 @@
},
"get": {
"tags": [
- "Users"
+ "User"
],
"operationId": "User_Get",
"description": "Gets the details of the user specified by its identifier.",
@@ -201,7 +164,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -233,13 +196,13 @@
},
"put": {
"tags": [
- "Users"
+ "User"
],
"operationId": "User_CreateOrUpdate",
"description": "Creates or Updates a user.",
"x-ms-examples": {
- "ApiManagementCreateUserBasic": {
- "$ref": "./examples/ApiManagementCreateUserBasic.json"
+ "ApiManagementCreateUser": {
+ "$ref": "./examples/ApiManagementCreateUser.json"
}
},
"parameters": [
@@ -250,7 +213,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"name": "parameters",
@@ -276,10 +239,22 @@
"description": "User was successfully created.",
"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"
+ }
}
},
"200": {
"description": "User was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
"schema": {
"$ref": "#/definitions/UserContract"
}
@@ -294,13 +269,13 @@
},
"patch": {
"tags": [
- "Users"
+ "User"
],
"operationId": "User_Update",
"description": "Updates the details of the user specified by its identifier.",
"x-ms-examples": {
- "ApiManagementUpdateUserBasic": {
- "$ref": "./examples/ApiManagementUpdateUserBasic.json"
+ "ApiManagementUpdateUser": {
+ "$ref": "./examples/ApiManagementUpdateUser.json"
}
},
"parameters": [
@@ -311,7 +286,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"name": "parameters",
@@ -337,7 +312,7 @@
"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.",
+ "description": "Error response describing why the operation failed.",
"schema": {
"$ref": "./apimanagement.json#/definitions/ErrorResponse"
}
@@ -346,7 +321,7 @@
},
"delete": {
"tags": [
- "Users"
+ "User"
],
"operationId": "User_Delete",
"description": "Deletes specific user.",
@@ -363,7 +338,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"name": "deleteSubscriptions",
@@ -405,7 +380,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/generateSsoUrl": {
"post": {
"tags": [
"Users"
@@ -413,8 +388,8 @@
"operationId": "User_GenerateSsoUrl",
"description": "Retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.",
"x-ms-examples": {
- "ApiManagementUsersGenerateSsoUrl": {
- "$ref": "./examples/ApiManagementUsersGenerateSsoUrl.json"
+ "ApiManagementUserGenerateSsoUrl": {
+ "$ref": "./examples/ApiManagementUserGenerateSsoUrl.json"
}
},
"parameters": [
@@ -425,7 +400,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -451,10 +426,10 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/groups": {
"get": {
"tags": [
- "UserGroups"
+ "UserGroup"
],
"operationId": "UserGroup_List",
"description": "Lists all user groups.",
@@ -471,14 +446,14 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/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 |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -513,10 +488,10 @@
"x-ms-odata": "./apimgroups.json#/definitions/GroupContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions": {
"get": {
"tags": [
- "UserSubscriptions"
+ "UserSubscription"
],
"operationId": "UserSubscription_List",
"description": "Lists the collection of subscriptions of the specified user.",
@@ -533,14 +508,14 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/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 | |"
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|displayName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|ownerId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|scope | 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"
},
{
"$ref": "./apimanagement.json#/parameters/TopQueryParameter"
@@ -575,16 +550,16 @@
"x-ms-odata": "./apimsubscriptions.json#/definitions/SubscriptionContract"
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/identities": {
"get": {
"tags": [
- "UserIdentities"
+ "UserIdentity"
],
"operationId": "UserIdentities_List",
- "description": "Lists all user identities.",
+ "description": "List of all user identities.",
"x-ms-examples": {
- "ApiManagementListUsersIdentities": {
- "$ref": "./examples/ApiManagementListUsersIdentities.json"
+ "ApiManagementListUserIdentities": {
+ "$ref": "./examples/ApiManagementListUserIdentities.json"
}
},
"parameters": [
@@ -595,7 +570,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
@@ -604,9 +579,6 @@
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
}
],
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
"responses": {
"200": {
"description": "Lists of User Identities.",
@@ -620,19 +592,22 @@
"$ref": "./apimanagement.json#/definitions/ErrorResponse"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/token": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/token": {
"post": {
"tags": [
- "Users"
+ "UserToken"
],
"operationId": "User_GetSharedAccessToken",
"description": "Gets the Shared Access Authorization Token for the User.",
"x-ms-examples": {
- "ApiManagementUsersGetToken": {
- "$ref": "./examples/ApiManagementUsersGetToken.json"
+ "ApiManagementUserToken": {
+ "$ref": "./examples/ApiManagementUserToken.json"
}
},
"parameters": [
@@ -643,7 +618,7 @@
"$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
},
{
- "$ref": "#/parameters/UserIdParameter"
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
},
{
"name": "parameters",
@@ -677,6 +652,48 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/confirmations/password/send": {
+ "post": {
+ "tags": [
+ "UserConfirmationPasswordSend"
+ ],
+ "operationId": "UserConfirmationPassword_Send",
+ "description": "Sends confirmation",
+ "x-ms-examples": {
+ "ApiManagementUserConfirmationPasswordSend": {
+ "$ref": "./examples/ApiManagementUserConfirmationPasswordSend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Notification successfully sent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -994,17 +1011,5 @@
}
}
},
- "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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
+ "parameters": { }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimversionsets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimversionsets.json
deleted file mode 100644
index f8e57f7942c7..000000000000
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimversionsets.json
+++ /dev/null
@@ -1,520 +0,0 @@
-{
- "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": "2018-06-01-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.ApiManagement/service/{serviceName}/api-version-sets": {
- "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": [
- {
- "$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, 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}": {
- "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"
- }
- },
- "parameters": [
- {
- "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionSetIdParameter"
- }
- ],
- "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"
- }
- },
- "parameters": [
- {
- "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionSetIdParameter"
- }
- ],
- "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": [
- {
- "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionSetIdParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ApiVersionSetContract"
- },
- "description": "Create or update parameters."
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
- }
- ],
- "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": [
- {
- "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionSetIdParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ApiVersionSetUpdateParameters"
- },
- "description": "Update parameters."
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
- }
- ],
- "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": [
- {
- "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionSetIdParameter"
- },
- {
- "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The ApiVersion Set details were successfully deleted."
- },
- "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
- }
- },
- "description": "Api Version set base parameters"
- },
- "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",
- "description": "Api VersionSet contract properties."
- }
- },
- "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": 80,
- "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)",
- "x-ms-parameter-location": "method"
- }
- }
-}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementBackendReconnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementBackendReconnect.json
index 033d4a5c5d61..dca6e0cdff9b 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementBackendReconnect.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementBackendReconnect.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "backendid": "proxybackend",
+ "backendId": "proxybackend",
"parameters": {
"properties": {
"after" : "PT3S"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateAILogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateAILogger.json
index 3853b4421cf9..6195910f1b8f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateAILogger.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateAILogger.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "loggerid": "loggerId",
+ "loggerId": "loggerId",
"parameters": {
"properties": {
"loggerType": "applicationInsights",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApi.json
index a8293a7df6c3..1ad7ed14536f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApi.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApi.json
@@ -59,6 +59,11 @@
}
}
},
+ "202": {
+ "headers":{
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2018-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
"200": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssue.json
index c3924f239769..ba320892f1a4 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssue.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssue.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"issueId": "57d2ef278aa04f0ad01d6cdc",
"apiId": "57d1f7558aa04f15146d9d8a",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json
index 37cf9b88b6b8..6fda2fc22ed7 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssueAttachment.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"issueId": "57d2ef278aa04f0ad01d6cdc",
"apiId": "57d1f7558aa04f15146d9d8a",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssueComment.json
index 50f4ff76747a..611e66df18a4 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssueComment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiIssueComment.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"issueId": "57d2ef278aa04f0ad01d6cdc",
"apiId": "57d1f7558aa04f15146d9d8a",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiOperationTag.json
new file mode 100644
index 000000000000..3bfc89662000
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiOperationTag.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "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/preview/2018-06-01-preview/examples/ApiManagementCreateApiRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiRevision.json
index 6dc22817f714..9ebc2ca8e28b 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiRevision.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiRevision.json
@@ -46,6 +46,11 @@
}
}
},
+ "202": {
+ "headers":{
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2018-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
"200": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=4",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json
new file mode 100644
index 000000000000..e21a0cd28a09
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingOai3Import.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "contentFormat": "openapi-link",
+ "contentValue": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
+ "path": "petstore"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "serviceUrl": "http://petstore.swagger.io/v1",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers":{
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2018-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "serviceUrl": "http://petstore.swagger.io/v1",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json
index a63fae62b14d..6bedf0adf904 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingSwaggerImport.json
@@ -36,6 +36,11 @@
}
}
},
+ "202": {
+ "headers":{
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2018-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
"200": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json
index baa00d1e3c3a..cdd96c620675 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiUsingWadlImport.json
@@ -36,6 +36,11 @@
}
}
},
+ "202": {
+ "headers":{
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2018-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
"200": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json
index 5ac2af2116a4..bad6b8818999 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateApiWithOpenIdConnect.json
@@ -60,6 +60,11 @@
}
}
},
+ "202": {
+ "headers":{
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2018-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
"200": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json
index 68b0f617dbae..dc3b1951fbcc 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateBackendProxyBackend.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "backendid": "proxybackend",
+ "backendId": "proxybackend",
"parameters": {
"properties": {
"description": "description5308",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json
index 335dedb49b0e..40cf30aa7a61 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateBackendServiceFabric.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "backendid": "sfbackend",
+ "backendId": "sfbackend",
"parameters": {
"properties": {
"description": "Service Fabric Test App 1",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateCache.json
new file mode 100644
index 000000000000..50c5b3b02aeb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateCache.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "westindia",
+ "parameters": {
+ "properties": {
+ "connectionString": "contoso5.redis.cache.windows.net,ssl=true,password=...",
+ "description": "Redis cache instances in West India",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/contoso5"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/westindia",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "westindia",
+ "properties": {
+ "connectionString": "{{5c68d535a40f7e61103cd285}}}",
+ "description": "Redis cache instances in West India",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/contoso5"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/westindia",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "westindia",
+ "properties": {
+ "connectionString": "{{5c68d535a40f7e61103cd285}}}",
+ "description": "Redis cache instances in West India",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/contoso5"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateEHLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateEHLogger.json
index bee1eb647ba8..8c36fef2b21d 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateEHLogger.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateEHLogger.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "loggerid": "loggerId",
+ "loggerId": "loggerId",
"parameters": {
"properties": {
"loggerType": "azureEventHub",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateGroupUser.json
index 003e5ee544e7..7c1326a1b246 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateGroupUser.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateGroupUser.json
@@ -5,7 +5,7 @@
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"groupId": "tempgroup",
- "uid": "59307d350af58404d8a26300"
+ "userId": "59307d350af58404d8a26300"
},
"responses": {
"201": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateNotification.json
new file mode 100644
index 000000000000..b544b5e3769e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateNotification.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "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/preview/2018-06-01-preview/examples/ApiManagementCreateRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateNotificationRecipientEmail.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateRecipientEmail.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateNotificationRecipientEmail.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateNotificationRecipientUser.json
similarity index 97%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateRecipientUser.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateNotificationRecipientUser.json
index 20a53868f771..61dd70ef5d4f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateRecipientUser.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateNotificationRecipientUser.json
@@ -5,7 +5,7 @@
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"notificationName": "RequestPublisherNotificationMessage",
- "uid": "576823d0a40f7e74ec07d642"
+ "userId": "576823d0a40f7e74ec07d642"
},
"responses": {
"201": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateProductBasic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateProduct.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateProductBasic.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateProduct.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
index 56cf214f7662..803e05c823c7 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
@@ -41,6 +41,11 @@
}
}
},
+ "202": {
+ "headers":{
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2018-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
"200": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
index 41e55a449d73..462f3196bf6c 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
@@ -39,6 +39,11 @@
}
}
},
+ "202": {
+ "headers":{
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2018-06-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
"200": {
"body": {
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateUserBasic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateUser.json
similarity index 97%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateUserBasic.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateUser.json
index 4538b0e8ab27..b9d2454de271 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateUserBasic.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementCreateUser.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512288c680b",
+ "userId": "5931a75ae4bbd512288c680b",
"parameters": {
"properties": {
"firstName": "foo",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssue.json
index 3e2ead481521..ffd44ba96911 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssue.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssue.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"issueId": "57d2ef278aa04f0ad01d6cdc",
"apiId": "57d1f7558aa04f15146d9d8a",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json
index 9a43f099a422..8537f3805ca3 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssueAttachment.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"issueId": "57d2ef278aa04f0ad01d6cdc",
"apiId": "57d1f7558aa04f15146d9d8a",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json
index 813ce534e9af..6011db3d35f3 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiIssueComment.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"issueId": "57d2ef278aa04f0ad01d6cdc",
"apiId": "57d1f7558aa04f15146d9d8a",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiOperationPolicy.json
new file mode 100644
index 000000000000..8790fb955f6f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiOperationPolicy.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "testapi",
+ "operationId": "testoperation",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiOperationTag.json
new file mode 100644
index 000000000000..7dcfb35dae64
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteApiOperationTag.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "operationId": "59d5b28d1f7fab116c282651",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteBackend.json
index 98ba03d7966b..3e54e55c8318 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteBackend.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteBackend.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "backendid": "sfbackend",
+ "backendId": "sfbackend",
"If-Match": "*"
},
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteCache.json
new file mode 100644
index 000000000000..8b06cd0d0ec6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteCache.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "southindia",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteGroupUser.json
index 2ba0fa218ed0..74700568687f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteGroupUser.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteGroupUser.json
@@ -5,7 +5,7 @@
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"groupId": "templategroup",
- "uid": "59307d350af58404d8a26300",
+ "userId": "59307d350af58404d8a26300",
"If-Match": "*"
},
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteLogger.json
index 53cd67ee6cd8..ee79e2869ecd 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteLogger.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteLogger.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "loggerid": "loggerId",
+ "loggerId": "loggerId",
"If-Match": "*"
},
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json
index 4840cb658fc7..aac72c04002e 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteNotificationRecipientUser.json
@@ -5,7 +5,7 @@
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"notificationName": "RequestPublisherNotificationMessage",
- "uid": "576823d0a40f7e74ec07d642"
+ "userId": "576823d0a40f7e74ec07d642"
},
"responses": {
"200": {},
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteUser.json
index ece32aadc6c4..8096e8128bbb 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteUser.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementDeleteUser.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512288c680b",
+ "userId": "5931a75ae4bbd512288c680b",
"If-Match": "*"
},
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssue.json
index a00f0919fe35..e51e9e0b1361 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssue.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssue.json
@@ -1,27 +1,27 @@
{
- "parameters": {
- "serviceName": "apimService1",
- "resourceGroupName": "rg1",
- "api-version": "2017-03-01",
- "subscriptionId": "subid",
- "apiId": "57d2ef278aa04f0888cba3f3",
- "issueId": "57d2ef278aa04f0ad01d6cdc"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
- "type": "Microsoft.ApiManagement/service/apis/issues",
- "name": "57d2ef278aa04f0ad01d6cdc",
- "properties": {
- "title": "New API issue",
- "description": "New API issue description",
- "createdDate": "2018-02-01T22:21:20.467Z",
- "state": "open",
- "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
- "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
- }
- }
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
}
+ }
}
+ }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json
index 9ad3a14f64a2..c0dc61b619ae 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssueAttachment.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"apiId": "57d2ef278aa04f0888cba3f3",
"issueId": "57d2ef278aa04f0ad01d6cdc",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssueComment.json
index 92952716046c..1389c196abec 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssueComment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiIssueComment.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"apiId": "57d2ef278aa04f0888cba3f3",
"issueId": "57d2ef278aa04f0ad01d6cdc",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiOperationPetstore.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiOperationPetStore.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiOperationPetstore.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiOperationPetStore.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiOperationTag.json
new file mode 100644
index 000000000000..95a96cb7cb58
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetApiOperationTag.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "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/preview/2018-06-01-preview/examples/ApiManagementGetBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetBackend.json
index b2d90dde4ccd..4debcdfdf483 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetBackend.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetBackend.json
@@ -1,38 +1,38 @@
{
- "parameters": {
- "serviceName": "apimService1",
- "resourceGroupName": "rg1",
- "api-version": "2018-06-01-preview",
- "subscriptionId": "subid",
- "backendid": "sfbackend"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
- "type": "Microsoft.ApiManagement/service/backends",
- "name": "sfbackend",
- "properties": {
- "description": "Service Fabric Test App 1",
- "url": "fabric:/mytestapp/mytestservice",
- "protocol": "http",
- "properties": {
- "serviceFabricCluster": {
- "managementEndpoints": [
- "https://somecluster.com"
- ],
- "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
- "serverX509Names": [
- {
- "name": "ServerCommonName1",
- "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
- }
- ],
- "maxPartitionResolutionRetries": 5
- }
- }
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificatethumbprint": "EBA029198AA3E76EF0D70482626E5BCF148594A6",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
}
+ ],
+ "maxPartitionResolutionRetries": 5
}
+ }
}
+ }
}
+ }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetCache.json
new file mode 100644
index 000000000000..76e4309228aa
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetCache.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "westindia"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/westindia",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "westindia",
+ "properties": {
+ "connectionString": "{{5c68d535a40f7e61103cd285}}}",
+ "description": "Redis cache instances in West India",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/contoso5"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetCaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetCaches.json
new file mode 100644
index 000000000000..185e287ba22d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetCaches.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "caches": "northeurope",
+ "api-version": "2018-06-01-preview",
+ "Accept": "application/json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/caches/northeurope",
+ "description": "5c72f961d581935e44dfa9f2",
+ "connectionString": "{{5c72f961d581935e44dfa9f4}}",
+ "resourceId": "https://5c72f961d581935e44dfa9f3"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetIssue.json
new file mode 100644
index 000000000000..a5ef5ad9dac5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetIssue.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetLogger.json
index 93d7a7e0a009..a0f2b37a8bc9 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetLogger.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetLogger.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "loggerid": "templateLogger"
+ "loggerId": "templateLogger"
},
"responses": {
"200": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetNotification.json
index b544b5e3769e..b28d65aa143b 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetNotification.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetNotification.json
@@ -1,32 +1,32 @@
{
- "parameters": {
- "serviceName": "apimService1",
- "resourceGroupName": "rg1",
- "api-version": "2018-06-01-preview",
- "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"
- ]
- }
- }
- }
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "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/preview/2018-06-01-preview/examples/ApiManagementGetProductsForApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetProductsForApi.json
deleted file mode 100644
index 77898b4184a9..000000000000
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetProductsForApi.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "parameters": {
- "serviceName": "apimService1",
- "resourceGroupName": "rg1",
- "api-version": "2018-06-01-preview",
- "subscriptionId": "subid",
- "apiId": "57d2ef278aa04f0888cba3f3"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b539c53f5b0062060002",
- "type": "Microsoft.ApiManagement/service/apis/products",
- "name": "5600b539c53f5b0062060002",
- "properties": {
- "displayName": "Unlimited",
- "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
- "subscriptionRequired": true,
- "approvalRequired": true,
- "subscriptionsLimit": 1,
- "state": "published"
- }
- }
- ],
- "nextLink": ""
- }
- }
- }
-}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetUser.json
index 5416f88063d3..2e528cb129fa 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetUser.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetUser.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512a88c680b"
+ "userId": "5931a75ae4bbd512a88c680b"
},
"responses": {
"200": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssue.json
index 9570771b1278..f490f90199a8 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssue.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssue.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"apiId": "57d2ef278aa04f0888cba3f3",
"issueId": "57d2ef278aa04f0ad01d6cdc"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json
index 990bf33e30c5..d025bec53d49 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssueAttachment.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"apiId": "57d2ef278aa04f0888cba3f3",
"issueId": "57d2ef278aa04f0ad01d6cdc",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssueComment.json
index 5474d13ceabb..14efc224f0a6 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssueComment.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiIssueComment.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"apiId": "57d2ef278aa04f0888cba3f3",
"issueId": "57d2ef278aa04f0ad01d6cdc",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiOperationTag.json
new file mode 100644
index 000000000000..cb550dfc6bf8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadApiOperationTag.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "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/preview/2018-06-01-preview/examples/ApiManagementHeadBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadBackend.json
index 6ebc4d63da0a..18e5b871f39b 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadBackend.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadBackend.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "backendid": "sfbackend"
+ "backendId": "sfbackend"
},
"responses": {
"200": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadCache.json
new file mode 100644
index 000000000000..1175e0939109
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadCache.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadGroupUser.json
index 9d347f5e2563..c126b8bb1669 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadGroupUser.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadGroupUser.json
@@ -5,7 +5,7 @@
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"groupId": "59306a29e4bbd510dc24e5f9",
- "uid": "5931a75ae4bbd512a88c680b"
+ "userId": "5931a75ae4bbd512a88c680b"
},
"responses": {
"204": {},
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadLogger.json
index 44d0d50e146f..0573df29dc58 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadLogger.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadLogger.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "loggerid": "templateLogger"
+ "loggerId": "templateLogger"
},
"responses": {
"200": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json
index b617415db68c..43d28adf202b 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadNotificationRecipientEmail.json
@@ -8,7 +8,6 @@
"email": "contoso@live.com"
},
"responses": {
- "204": {},
- "404": {}
+ "204": {}
}
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json
index cc7cbb457780..09ea0101fbe2 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadNotificationRecipientUser.json
@@ -5,10 +5,9 @@
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"notificationName": "RequestPublisherNotificationMessage",
- "uid": "576823d0a40f7e74ec07d642"
+ "userId": "576823d0a40f7e74ec07d642"
},
"responses": {
- "204": {},
- "404": {}
+ "204": {}
}
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadProductApi.json
index 28ac1e4770b1..f40035f9e570 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadProductApi.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadProductApi.json
@@ -8,7 +8,6 @@
"apiId": "59306a29e4bbd510dc24e5f9"
},
"responses": {
- "204": {},
- "404": {}
+ "204": {}
}
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadProductGroup.json
index 1bc525476c20..e1d1e6eaa590 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadProductGroup.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadProductGroup.json
@@ -8,7 +8,6 @@
"groupId": "59306a29e4bbd510dc24e5f9"
},
"responses": {
- "204": {},
- "404": {}
+ "204": {}
}
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadTenantAccess.json
new file mode 100644
index 000000000000..0c55dedccf3b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadTenantAccess.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadUser.json
index 453a65a79ce6..8e58ce61828a 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadUser.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementHeadUser.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512a88c680b"
+ "userId": "5931a75ae4bbd512a88c680b"
},
"responses": {
"200": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssueAttachments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssueAttachments.json
index ec594c46fa6b..0abe2c939866 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssueAttachments.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssueAttachments.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"apiId": "57d1f7558aa04f15146d9d8a",
"issueId": "57d2ef278aa04f0ad01d6cdc"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssueComments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssueComments.json
index 41b8390c985d..0cc92c33e334 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssueComments.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssueComments.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"apiId": "57d1f7558aa04f15146d9d8a",
"issueId": "57d2ef278aa04f0ad01d6cdc"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssues.json
index c330abfb911c..eeb6370b6fb7 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssues.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiIssues.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid",
"apiId": "57d1f7558aa04f15146d9d8a"
},
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiOperationPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiOperationPolicies.json
index 8794bdbc844b..6799b3c08bed 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiOperationPolicies.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiOperationPolicies.json
@@ -1,27 +1,27 @@
{
- "parameters": {
- "serviceName": "apimService1",
- "resourceGroupName": "rg1",
- "api-version": "2018-06-01-preview",
- "subscriptionId": "subid",
- "apiId": "599e2953193c3c0bd0b3e2fa",
- "operationId": "599e29ab193c3c0bd0b3e2fb"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/599e2953193c3c0bd0b3e2fa/operations/599e29ab193c3c0bd0b3e2fb/policies/policy",
- "type": "Microsoft.ApiManagement/service/apis/operations/policies",
- "name": "policy",
- "properties": {
- "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": ""
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "599e2953193c3c0bd0b3e2fa",
+ "operationId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/599e2953193c3c0bd0b3e2fa/operations/599e29ab193c3c0bd0b3e2fb/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "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/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiOperationTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiOperationTags.json
new file mode 100644
index 000000000000..51139d8b3923
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiOperationTags.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "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/preview/2018-06-01-preview/examples/ApiManagementListApiOperationsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiOperationsByTags.json
new file mode 100644
index 000000000000..fb79ab0fe4e4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiOperationsByTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "operation": {
+ "id": "/apis/echo-api/operations/create-resource",
+ "apiName": "Echo API",
+ "apiRevision": "1",
+ "name": "Create resource",
+ "method": "POST",
+ "urlTemplate": "/resource",
+ "description": "A demonstration of a POST call based on the echo backend above. The request body is expected to contain JSON-formatted data (see example below). A policy is used to automatically transform any request sent in JSON directly to XML. In a real-world scenario this could be used to enable modern clients to speak to a legacy backend."
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiPolicies.json
index 9258e5ff1253..8670cead052c 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiPolicies.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiPolicies.json
@@ -1,26 +1,26 @@
{
- "parameters": {
- "serviceName": "apimService1",
- "resourceGroupName": "rg1",
- "api-version": "2018-06-01-preview",
- "subscriptionId": "subid",
- "apiId": "5600b59475ff190048040001"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
- "type": "Microsoft.ApiManagement/service/apis/policies",
- "name": "policy",
- "properties": {
- "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\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
- }
- }
- ],
- "nextLink": ""
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "5600b59475ff190048040001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "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\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
}
- }
+ }
+ ],
+ "nextLink": ""
+ }
}
+ }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiProducts.json
new file mode 100644
index 000000000000..51598ddf28a3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiProducts.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/apis/products",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetTagDescriptionsForApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiTagDescriptions.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetTagDescriptionsForApi.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiTagDescriptions.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetTagsForApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiTags.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetTagsForApi.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListApiTags.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListCaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListCaches.json
new file mode 100644
index 000000000000..82069ec27432
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListCaches.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/westindia",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "westindia",
+ "properties": {
+ "connectionString": "{{5c68d535a40f7e61103cd285}}}",
+ "description": "Redis cache instances in West India",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/contoso5"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListIssues.json
index 6a2d429f5834..b082405354d5 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListIssues.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListIssues.json
@@ -2,7 +2,7 @@
"parameters": {
"serviceName": "apimService1",
"resourceGroupName": "rg1",
- "api-version": "2017-03-01",
+ "api-version": "2018-06-01-preview",
"subscriptionId": "subid"
},
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListNotificationRecipientEmails.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListNotificationRecipientEmail.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListNotificationRecipientEmails.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListNotificationRecipientUsers.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListNotificationRecipientUser.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListNotificationRecipientUsers.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProductPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProductPolicies.json
new file mode 100644
index 000000000000..66ffcbd1c7c5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProductPolicies.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "productId": "armTemplateProduct4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/armTemplateProduct4/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "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 \r\n"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProductPolicy.json
deleted file mode 100644
index fa5ece42d171..000000000000
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProductPolicy.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "parameters": {
- "serviceName": "apimService1",
- "resourceGroupName": "rg1",
- "api-version": "2018-06-01-preview",
- "subscriptionId": "subid",
- "productId": "armTemplateProduct4"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/armTemplateProduct4/policies/policy",
- "type": "Microsoft.ApiManagement/service/products/policies",
- "name": "policy",
- "properties": {
- "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 \r\n"
- }
- }
- ],
- "nextLink": ""
- }
- }
- }
-}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetTagsForProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProductTags.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementGetTagsForProduct.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProductTags.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProperties.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProperties.json
index 9c32e1dae552..1ca29ecb739f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProperties.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListProperties.json
@@ -1,41 +1,41 @@
{
- "parameters": {
- "serviceName": "apimService1",
- "resourceGroupName": "rg1",
- "api-version": "2018-06-01-preview",
- "subscriptionId": "subid"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/properties/592f1174cc83890dc4f32686",
- "type": "Microsoft.ApiManagement/service/properties",
- "name": "592f1174cc83890dc4f32686",
- "properties": {
- "displayName": "Logger-Credentials-592f1174cc83890dc4f32687",
- "value": "Endpoint=sb://testtemplatetesteh.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=...",
- "secret": true
- }
- },
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/properties/testarmTemplateproperties2",
- "type": "Microsoft.ApiManagement/service/properties",
- "name": "testarmTemplateproperties2",
- "properties": {
- "displayName": "propName",
- "value": "propValue",
- "tags": [
- "foo",
- "bar"
- ],
- "secret": false
- }
- }
- ],
- "nextLink": ""
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/properties/592f1174cc83890dc4f32686",
+ "type": "Microsoft.ApiManagement/service/properties",
+ "name": "592f1174cc83890dc4f32686",
+ "properties": {
+ "displayName": "Logger-Credentials-592f1174cc83890dc4f32687",
+ "value": "Endpoint=sb://testtemplatetesteh.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=...",
+ "secret": true
}
- }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/properties/testarmTemplateproperties2",
+ "type": "Microsoft.ApiManagement/service/properties",
+ "name": "testarmTemplateproperties2",
+ "properties": {
+ "displayName": "propName",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ ],
+ "nextLink": ""
+ }
}
+ }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserGroups.json
index edd012c34ccc..62def5602566 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserGroups.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserGroups.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "57681833a40f7eb6c49f6acf"
+ "userId": "57681833a40f7eb6c49f6acf"
},
"responses": {
"200": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUsersIdentities.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserIdentities.json
similarity index 90%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUsersIdentities.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserIdentities.json
index d57c487a3955..c6d10bafe53e 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUsersIdentities.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserIdentities.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "57f2af53bb17172280f44057"
+ "userId": "57f2af53bb17172280f44057"
},
"responses": {
"200": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserSubscriptions.json
index 0aba41663201..01581d961725 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserSubscriptions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementListUserSubscriptions.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "57681833a40f7eb6c49f6acf"
+ "userId": "57681833a40f7eb6c49f6acf"
},
"responses": {
"200": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json
index f12c48435929..4d866e0e14b6 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutDelegation.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512288c680b",
+ "userId": "5931a75ae4bbd512288c680b",
"If-Match": "*",
"parameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json
index 9860b7d886d9..c7e99e5283fa 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutSignIn.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512288c680b",
+ "userId": "5931a75ae4bbd512288c680b",
"If-Match": "*",
"parameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json
index 01fc2da2a495..2184d04f420b 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsPutSignUp.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512288c680b",
+ "userId": "5931a75ae4bbd512288c680b",
"If-Match": "*",
"parameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json
index d56da4116e68..1f3bdb15735f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateDelegation.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512288c680b",
+ "userId": "5931a75ae4bbd512288c680b",
"If-Match": "*",
"parameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json
index 16bcb93ec845..1aec7b9ea167 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignIn.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512288c680b",
+ "userId": "5931a75ae4bbd512288c680b",
"If-Match": "*",
"parameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json
index 70e5b6e61066..3824225176d6 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementPortalSettingsUpdateSignUp.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512288c680b",
+ "userId": "5931a75ae4bbd512288c680b",
"If-Match": "*",
"parameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementServiceDeleteService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementServiceDeleteService.json
index bd25f95cc9ba..d23e103d852f 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementServiceDeleteService.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementServiceDeleteService.json
@@ -1,12 +1,60 @@
{
- "parameters": {
- "serviceName": "apimService1",
- "resourceGroupName": "rg1",
- "api-version": "2018-06-01-preview",
- "subscriptionId": "subid"
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2018-06-01-preview"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAAFfhHY=",
+ "properties": {
+ "publisherEmail": "sasolank@microsoft.com",
+ "publisherName": "Microsoft",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "Deleting",
+ "createdAtUtc": "2016-12-20T19:41:21.5823069Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.XX.XXX.168"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/BlockVNETSamir/subnets/default"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "External"
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
},
- "responses": {
- "200": {},
- "204": {}
- }
+ "204": {},
+ "200": {}
+ }
}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementSubscriptionRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementSubscriptionRegenerateKey.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json
new file mode 100644
index 000000000000..ee96523a6f05
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "sid": "testsub"
+ },
+ "responses": {
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateApiIssue.json
index 36f3f70fe42c..5408e77690f3 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateApiIssue.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateApiIssue.json
@@ -6,6 +6,7 @@
"subscriptionId": "subid",
"issueId": "57d2ef278aa04f0ad01d6cdc",
"apiId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*",
"parameters": {
"properties": {
"state": "closed"
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateBackend.json
index 180640c2efc5..789aabb3a838 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateBackend.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateBackend.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "backendid": "proxybackend",
+ "backendId": "proxybackend",
"If-Match": "*",
"parameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateCache.json
new file mode 100644
index 000000000000..8b2f26300e9c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateCache.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "cacheId": "westindia",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "Update Cache in west India"
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateLogger.json
index c76cacf02a59..1aee91e94023 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateLogger.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateLogger.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "loggerid": "loggerId",
+ "loggerId": "loggerId",
"If-Match": "*",
"parameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateProductBasic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateProduct.json
similarity index 100%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateProductBasic.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateProduct.json
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateUserBasic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateUser.json
similarity index 89%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateUserBasic.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateUser.json
index 9306019ad112..38c3a6b5b7a3 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateUserBasic.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUpdateUser.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "5931a75ae4bbd512288c680b",
+ "userId": "5931a75ae4bbd512288c680b",
"If-Match": "*",
"parameters": {
"properties": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json
new file mode 100644
index 000000000000..3210d6c6b3e6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUserConfirmationPasswordSend.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "userId": "57127d485157a511ace86ae7"
+ },
+ "responses": {
+ "204": { }
+ }
+ }
\ No newline at end of file
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUsersGenerateSsoUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUserGenerateSsoUrl.json
similarity index 90%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUsersGenerateSsoUrl.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUserGenerateSsoUrl.json
index 0e4716db7944..cf3049ecdc1e 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUsersGenerateSsoUrl.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUserGenerateSsoUrl.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "57127d485157a511ace86ae7"
+ "userId": "57127d485157a511ace86ae7"
},
"responses": {
"200": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUsersGetToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUserToken.json
similarity index 90%
rename from specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUsersGetToken.json
rename to specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUserToken.json
index 129d654555e9..36ad537e03fa 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUsersGetToken.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/examples/ApiManagementUserToken.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg1",
"api-version": "2018-06-01-preview",
"subscriptionId": "subid",
- "uid": "57f2af53bb17172280f44057",
+ "userId": "57f2af53bb17172280f44057",
"parameters": {
"keyType": "primary",
"expiry": "2017-05-13T10:39:35Z"
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 c0131325dd01..a844d40dd12e 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
@@ -2038,7 +2038,7 @@
],
"responses": {
"200": {
- "description": "Paged Result reponse of diagnostics for an API.",
+ "description": "Paged Result response of diagnostics for an API.",
"schema": {
"$ref": "./apimdiagnostics.json#/definitions/DiagnosticCollection"
}
@@ -2342,7 +2342,7 @@
"ApiDiagnosticLoggers"
],
"operationId": "ApiDiagnosticLogger_ListByService",
- "description": "Lists all loggers assosiated with the specified Diagnostic of an API.",
+ "description": "Lists all loggers associated with the specified Diagnostic of an API.",
"x-ms-examples": {
"ApiManagementListApiDiagnosticLoggers": {
"$ref": "./examples/ApiManagementListApiDiagnosticLoggers.json"
@@ -2383,7 +2383,7 @@
],
"responses": {
"200": {
- "description": "Paged Result reponse of loggers assigned to the specified Diagnostic.",
+ "description": "Paged Result response of loggers assigned to the specified Diagnostic.",
"schema": {
"$ref": "./apimloggers.json#/definitions/LoggerCollection"
}
@@ -2453,7 +2453,7 @@
"ApiDiagnosticLoggers"
],
"operationId": "ApiDiagnosticLogger_CreateOrUpdate",
- "description": "Attaches a logger to a dignostic for an API.",
+ "description": "Attaches a logger to a diagnostic for an API.",
"x-ms-examples": {
"ApiManagementCreateApiDiagnosticLogger": {
"$ref": "./examples/ApiManagementCreateApiDiagnosticLogger.json"
@@ -2556,7 +2556,7 @@
"ApiIssues"
],
"operationId": "ApiIssues_ListByService",
- "description": "Lists all issues assosiated with the specified API.",
+ "description": "Lists all issues associated with the specified API.",
"x-ms-examples": {
"ApiManagementListApiIssues": {
"$ref": "./examples/ApiManagementListApiIssues.json"
@@ -2594,7 +2594,7 @@
],
"responses": {
"200": {
- "description": "Paged Result reponse of issues for the API.",
+ "description": "Paged Result response of issues for the API.",
"schema": {
"$ref": "#/definitions/IssueCollection"
}
@@ -2839,7 +2839,7 @@
"ApiIssueComments"
],
"operationId": "ApiIssueComments_ListByService",
- "description": "Lists all comments for the Issue assosiated with the specified API.",
+ "description": "Lists all comments for the Issue associated with the specified API.",
"x-ms-examples": {
"ApiManagementListApiIssueComments": {
"$ref": "./examples/ApiManagementListApiIssueComments.json"
@@ -2880,7 +2880,7 @@
],
"responses": {
"200": {
- "description": "Paged Result reponse of issue comments for the API.",
+ "description": "Paged Result response of issue comments for the API.",
"schema": {
"$ref": "#/definitions/IssueCommentCollection"
}
@@ -3137,7 +3137,7 @@
"ApiIssueAttachments"
],
"operationId": "ApiIssueAttachments_ListByService",
- "description": "Lists all comments for the Issue assosiated with the specified API.",
+ "description": "Lists all comments for the Issue associated with the specified API.",
"x-ms-examples": {
"ApiManagementListApiIssueAttachments": {
"$ref": "./examples/ApiManagementListApiIssueAttachments.json"
@@ -3178,7 +3178,7 @@
],
"responses": {
"200": {
- "description": "Paged Result reponse of issue comments for the API.",
+ "description": "Paged Result response of issue comments for the API.",
"schema": {
"$ref": "#/definitions/IssueAttachmentCollection"
}
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index c6417823ac04..c35b42f9bcd0 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -1,313 +1,320 @@
-# ApiManagement
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for ApiManagement.
-
-
-
----
-## Getting Started
-To build the SDK for ApiManagement, 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 ApiManagement API.
-
-``` yaml
-title: ApiManagementClient
-description: ApiManagement Client
-openapi-type: arm
-tag: package-2018-01
-```
-
-### Tag: package-2018-06-preview
-
-These settings apply only when `--tag=package-2018-06-preview` is specified on the command line.
-
-``` yaml $(tag) == 'package-2018-06-preview'
-input-file:
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplate.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimreports.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json
-- Microsoft.ApiManagement/preview/2018-06-01-preview/apimversionsets.json
-```
-
-## 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-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.ApiManagement/stable/2018-01-01/apimanagement.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimapis.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimauthorizationservers.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimbackends.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimcertificates.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimdeployment.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimdiagnostics.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimemailtemplate.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimgroups.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimidentityprovider.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimloggers.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimnotifications.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimnetworkstatus.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimopenidconnectproviders.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimportalsettings.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimproperties.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimquotas.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimreports.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimsubscriptions.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimtagresources.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimtags.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimtenant.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimusers.json
-- Microsoft.ApiManagement/stable/2018-01-01/apimversionsets.json
-```
-
-## 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
-
-These settings apply only when `--tag=package-2017-03` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-03'
-input-file:
-- Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json
-- Microsoft.ApiManagement/stable/2017-03-01/apimapis.json
-- Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json
-- 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
-- Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
-- Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json
-- 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
-```
-
-
-### Tag: package-2016-10
-
-These settings apply only when `--tag=package-2016-10` is specified on the command line.
-
-``` yaml $(tag) == 'package-2016-10'
-input-file:
-- Microsoft.ApiManagement/stable/2016-10-10/apimanagement.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimapis.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimauthorizationservers.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimbackends.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimcertificates.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimdeployment.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimgroups.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimidentityprovider.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimloggers.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimnetworkstatus.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimopenidconnectproviders.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimproperties.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimquotas.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimreports.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimsubscriptions.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimtenant.json
-- Microsoft.ApiManagement/stable/2016-10-10/apimusers.json
-```
-
-### Tag: package-2016-07
-
-These settings apply only when `--tag=package-2016-07` is specified on the command line.
-
-``` yaml $(tag) == 'package-2016-07'
-input-file:
-- Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json
-- Microsoft.ApiManagement/stable/2016-07-07/apimdeployment.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
- - repo: azure-sdk-for-js
- - repo: azure-sdk-for-node
- autorest_options:
- use: "@microsoft.azure/autorest.python@~3.0"
- - repo: azure-sdk-for-ruby
- after_scripts:
- - bundle install && rake arm:regen_all_profiles['azure_mgmt_api_management']
-```
-
-
-## 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.ApiManagement
- output-folder: $(csharp-sdks-folder)/ApiManagement/Management.ApiManagement/Generated
- clear-output-folder: true
-```
-
-## Python
-
-See configuration in [readme.python.md](./readme.python.md)
-
-## Go
-
-See configuration in [readme.go.md](./readme.go.md)
-
-## Java
-
-These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(java)
-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
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2016-07
- - tag: package-2016-10
- - tag: package-2018-01
- - tag: package-2017-03
-```
-
-### Tag: package-2016-07 and java
-
-These settings apply only when `--tag=package-2016-07 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2016-07' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.apimanagement.v2016_07_07
- output-folder: $(azure-libraries-for-java-folder)/apimanagement/resource-manager/v2016_07_07
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2016-10 and java
-
-These settings apply only when `--tag=package-2016-10 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2016-10' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.apimanagement.v2016_10_10
- output-folder: $(azure-libraries-for-java-folder)/apimanagement/resource-manager/v2016_10_10
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2018-01 and java
-
-These settings apply only when `--tag=package-2018-01 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2018-01' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.apimanagement.v2018_01_01
- output-folder: $(azure-libraries-for-java-folder)/apimanagement/resource-manager/v2018_01_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2017-03 and java
-
-These settings apply only when `--tag=package-2017-03 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2017-03' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.apimanagement.v2017_03_01
- output-folder: $(azure-libraries-for-java-folder)/apimanagement/resource-manager/v2017_03_01
-regenerate-manager: true
-generate-interface: true
-```
-
-
+# ApiManagement
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for ApiManagement.
+
+
+
+---
+## Getting Started
+To build the SDK for ApiManagement, 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 ApiManagement API.
+
+``` yaml
+title: ApiManagementClient
+description: ApiManagement Client
+openapi-type: arm
+tag: package-2018-01
+```
+
+### Tag: package-2018-06-preview
+
+These settings apply only when `--tag=package-2018-06-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-06-preview'
+input-file:
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimreports.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json
+- Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json
+```
+
+## 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-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.ApiManagement/stable/2018-01-01/apimanagement.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimapis.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimauthorizationservers.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimbackends.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimcertificates.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimdeployment.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimdiagnostics.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimemailtemplate.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimgroups.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimidentityprovider.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimloggers.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimnotifications.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimnetworkstatus.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimopenidconnectproviders.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimportalsettings.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimproperties.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimquotas.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimreports.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimsubscriptions.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimtagresources.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimtags.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimtenant.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimusers.json
+- Microsoft.ApiManagement/stable/2018-01-01/apimversionsets.json
+```
+
+## 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
+
+These settings apply only when `--tag=package-2017-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-03'
+input-file:
+- Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json
+- Microsoft.ApiManagement/stable/2017-03-01/apimapis.json
+- Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json
+- 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
+- Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
+- Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json
+- 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
+```
+
+
+### Tag: package-2016-10
+
+These settings apply only when `--tag=package-2016-10` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-10'
+input-file:
+- Microsoft.ApiManagement/stable/2016-10-10/apimanagement.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimapis.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimauthorizationservers.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimbackends.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimcertificates.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimdeployment.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimgroups.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimidentityprovider.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimloggers.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimnetworkstatus.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimopenidconnectproviders.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimproperties.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimquotas.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimreports.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimsubscriptions.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimtenant.json
+- Microsoft.ApiManagement/stable/2016-10-10/apimusers.json
+```
+
+### Tag: package-2016-07
+
+These settings apply only when `--tag=package-2016-07` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-07'
+input-file:
+- Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json
+- Microsoft.ApiManagement/stable/2016-07-07/apimdeployment.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
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ autorest_options:
+ use: "@microsoft.azure/autorest.python@~3.0"
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_api_management']
+```
+
+
+## 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.ApiManagement
+ output-folder: $(csharp-sdks-folder)/ApiManagement/Management.ApiManagement/Generated
+ clear-output-folder: true
+```
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+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
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2016-07
+ - tag: package-2016-10
+ - tag: package-2018-01
+ - tag: package-2017-03
+```
+
+### Tag: package-2016-07 and java
+
+These settings apply only when `--tag=package-2016-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2016-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.apimanagement.v2016_07_07
+ output-folder: $(azure-libraries-for-java-folder)/apimanagement/resource-manager/v2016_07_07
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2016-10 and java
+
+These settings apply only when `--tag=package-2016-10 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2016-10' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.apimanagement.v2016_10_10
+ output-folder: $(azure-libraries-for-java-folder)/apimanagement/resource-manager/v2016_10_10
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2018-01 and java
+
+These settings apply only when `--tag=package-2018-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.apimanagement.v2018_01_01
+ output-folder: $(azure-libraries-for-java-folder)/apimanagement/resource-manager/v2018_01_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2017-03 and java
+
+These settings apply only when `--tag=package-2017-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.apimanagement.v2017_03_01
+ output-folder: $(azure-libraries-for-java-folder)/apimanagement/resource-manager/v2017_03_01
+regenerate-manager: true
+generate-interface: true
+```
+
+
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RACalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RACalls.json
index b757e2411197..82b5388256be 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RACalls.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RACalls.json
@@ -498,7 +498,7 @@
},
"canDelegate":{
"type": "boolean",
- "description": "The Delegation flag for the roleassignment"
+ "description": "The Delegation flag for the role assignment"
}
},
"description": "Role Assignments filter"
@@ -519,7 +519,7 @@
},
"canDelegate":{
"type": "boolean",
- "description": "The Delegation flag for the roleassignment"
+ "description": "The Delegation flag for the role assignment"
}
},
"description": "Role assignment properties with scope."
@@ -577,7 +577,7 @@
},
"canDelegate": {
"type": "boolean",
- "description": "The delgation flag used for creating a role assignment"
+ "description": "The delegation flag used for creating a role assignment"
}
},
"description": "Role assignment properties."
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
index e3c98cc22448..01936111b9a2 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
@@ -486,7 +486,7 @@
},
"canDelegate": {
"type": "boolean",
- "description": "The Delegation flag for the roleassignment"
+ "description": "The Delegation flag for the role assignment"
}
},
"description": "Role Assignments filter"
@@ -507,7 +507,7 @@
},
"canDelegate": {
"type": "boolean",
- "description": "The Delegation flag for the roleassignment"
+ "description": "The Delegation flag for the role assignment"
}
},
"description": "Role assignment properties with scope."
@@ -565,7 +565,7 @@
},
"canDelegate": {
"type": "boolean",
- "description": "The delgation flag used for creating a role assignment"
+ "description": "The delegation flag used for creating a role assignment"
}
},
"required": [
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json
index 327f66b83e0e..0edd390dfd0e 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json
@@ -486,7 +486,7 @@
},
"canDelegate": {
"type": "boolean",
- "description": "The Delegation flag for the roleassignment"
+ "description": "The Delegation flag for the role assignment"
}
},
"description": "Role Assignments filter"
@@ -527,7 +527,7 @@
},
"canDelegate": {
"type": "boolean",
- "description": "The Delegation flag for the roleassignment"
+ "description": "The Delegation flag for the role assignment"
}
},
"description": "Role assignment properties with scope."
@@ -605,7 +605,7 @@
},
"canDelegate": {
"type": "boolean",
- "description": "The delgation flag used for creating a role assignment"
+ "description": "The delegation flag used for creating a role assignment"
}
},
"required": [
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json
index 3a80520e1ca2..2e77d39b9f9b 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json
@@ -864,6 +864,25 @@
}
}
}
+ },
+ "/providers/Microsoft.Authorization/elevateAccess": {
+ "post": {
+ "tags": [
+ "ElevateAccess"
+ ],
+ "operationId": "ElevateAccess_Post",
+ "description": "Elevates access for a Global Administrator.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an HttpResponseMessage with HttpStatusCode 200."
+ }
+ }
+ }
}
},
"x-ms-paths": {
@@ -1227,4 +1246,4 @@
"description": "The API version to use for this operation."
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/softwareUpdateConfiguration/createSoftwareUpdateConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/softwareUpdateConfiguration/createSoftwareUpdateConfiguration.json
index b6893335255c..dc301c59af0f 100755
--- a/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/softwareUpdateConfiguration/createSoftwareUpdateConfiguration.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2017-05-15-preview/examples/softwareUpdateConfiguration/createSoftwareUpdateConfiguration.json
@@ -1,79 +1,83 @@
{
"parameters": {
- "subscriptionId": "51766542-3ed7-4a72-a187-0c8ab644ddab",
- "resourceGroupName": "mygroup",
- "automationAccountName": "myaccount",
- "softwareUpdateConfigurationName": "testpatch",
- "api-version": "2017-05-15-preview",
- "parameters": {
- "properties": {
- "updateConfiguration": {
- "operatingSystem": "Windows",
- "duration": "PT2H0M",
- "windows": {
- "excludedKbNumbers": [
- "168934",
- "168973"
- ],
- "includedUpdateClassifications": "Critical",
- "rebootSetting": "IfRequired"
- },
- "azureVirtualMachines": [
- "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067/resourceGroups/myresources/providers/Microsoft.Compute/virtualMachines/vm-01",
- "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067/resourceGroups/myresources/providers/Microsoft.Compute/virtualMachines/vm-02",
- "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067/resourceGroups/myresources/providers/Microsoft.Compute/virtualMachines/vm-03"
- ],
- "nonAzureComputerNames": [
- "box1.contoso.com",
- "box2.contoso.com"
- ],
- "targets": [
- {
- "azureQueries": {
- "scope": [
- "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067/resourceGroups/myresources",
- "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067"
- ],
- "tagSettings": {
- "tags": [
- {
- "tag1": [
- "tag1Value1",
- "tag1Value2",
- "tag1Value3"
- ]
- },
- {
- "tag2": [
- "tag2Value1",
- "tag2Value2",
- "tag2Value3"
- ]
- }
+ "subscriptionId": "51766542-3ed7-4a72-a187-0c8ab644ddab",
+ "resourceGroupName": "mygroup",
+ "automationAccountName": "myaccount",
+ "softwareUpdateConfigurationName": "testpatch",
+ "api-version": "2017-05-15-preview",
+ "parameters": {
+ "properties": {
+ "updateConfiguration": {
+ "operatingSystem": "Windows",
+ "duration": "PT2H0M",
+ "windows": {
+ "excludedKbNumbers": [
+ "168934",
+ "168973"
+ ],
+ "includedUpdateClassifications": "Critical",
+ "rebootSetting": "IfRequired"
+ },
+ "azureVirtualMachines": [
+ "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067/resourceGroups/myresources/providers/Microsoft.Compute/virtualMachines/vm-01",
+ "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067/resourceGroups/myresources/providers/Microsoft.Compute/virtualMachines/vm-02",
+ "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067/resourceGroups/myresources/providers/Microsoft.Compute/virtualMachines/vm-03"
],
- "filterOperator": "All"
- },
- "locations": [
- "Japan East",
- "UK South"
- ]
- }
- }
- ]
- },
- "scheduleInfo": {
- "frequency": "Hour",
- "startTime": "2017-10-19T12:22:57+00:00",
- "timeZone": "America/Los_Angeles",
- "interval": 1,
- "expiryTime": "2018-11-09T11:22:57+00:00",
- "advancedSchedule": {
- "weekDays": [
- "Monday",
- "Thursday"
- ]
- }
- },
+ "nonAzureComputerNames": [
+ "box1.contoso.com",
+ "box2.contoso.com"
+ ],
+ "targets":
+ {
+ "azureQueries":[
+ {
+ "scope":[
+ "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067/resourceGroups/myresources",
+ "/subscriptions/5ae68d89-69a4-454f-b5ce-e443cc4e0067"
+ ],
+ "tagSettings":{
+ "tags":[
+ {
+ "tag1": ["tag1Value1", "tag1Value2", "tag1Value3"]
+ },
+ {
+ "tag2": ["tag2Value1", "tag2Value2", "tag2Value3"]
+ }
+ ],
+ "filterOperator" : "All"
+ },
+ "locations":[
+ "Japan East",
+ "UK South"
+ ]
+ }
+ ],
+ "nonAzureQueries":[
+ {
+ "FunctionAlias": "SavedSearch1",
+ "WorkspaceId" : "WorkspaceId1"
+ },
+ {
+ "FunctionAlias": "SavedSearch2",
+ "WorkspaceId" : "WorkspaceId2"
+ }
+ ]
+
+ }
+ },
+ "scheduleInfo": {
+ "frequency": "Hour",
+ "startTime": "2017-10-19T12:22:57+00:00",
+ "timeZone": "America/Los_Angeles",
+ "interval": 1,
+ "expiryTime": "2018-11-09T11:22:57+00:00",
+ "advancedSchedule": {
+ "weekDays": [
+ "Monday",
+ "Thursday"
+ ]
+ }
+ },
"tasks": {
"preTask": {
"source": "HelloWorld",
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 2862d3dbe5ed..2c04af304423 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
@@ -801,8 +801,31 @@
"type": "object",
"$ref": "#/definitions/AzureQueryProperties"
}
+ },
+ "nonAzureQueries":{
+ "description": "List of non Azure queries in the software update configuration.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/NonAzureQueryProperties"
+ }
+ }
+ }
+ },
+ "NonAzureQueryProperties":{
+ "type": "object",
+ "description": "Non Azure query for the update configuration.",
+ "properties":{
+ "functionAlias" :{
+ "type": "string",
+ "description": "Log Analytics Saved Search name."
+ },
+ "workspaceId" :{
+ "type": "string",
+ "description": "Workspace Id for Log Analytics in which the saved Search is resided."
}
}
+
},
"AzureQueryProperties": {
"type": "object",
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listConnectionsByAutomationAccount_Next100.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listConnectionsByAutomationAccount_Next100.json
index a62bceacc867..554d2f5f9eb6 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listConnectionsByAutomationAccount_Next100.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listConnectionsByAutomationAccount_Next100.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg",
"automationAccountName": "myAutomationAccount28",
"api-version": "2015-10-31",
- "skip": "100"
+ "$skip": 100
},
"responses": {
"200": {
diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listVariables_Next100.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listVariables_Next100.json
index d76e899952ce..a5176ad97524 100644
--- a/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listVariables_Next100.json
+++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2015-10-31/examples/listVariables_Next100.json
@@ -4,7 +4,7 @@
"resourceGroupName": "rg",
"automationAccountName": "sampleAccount9",
"api-version": "2015-10-31",
- "skip":"100"
+ "$skip": 100
},
"responses": {
"200": {
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/acquisitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/acquisitions.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/blobServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/blobServices.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/containers.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/containers.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/containers.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Acquisitions/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Acquisitions/List.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Acquisitions/List.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Acquisitions/List.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/BlobService/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/Get.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/BlobService/Get.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/Get.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/BlobService/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetricDefinitions.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/BlobService/ListMetricDefinitions.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetricDefinitions.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/BlobService/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetrics.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/BlobService/ListMetrics.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/BlobService/ListMetrics.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/CancelMigration.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/CancelMigration.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/CancelMigration.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/CancelMigration.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/List.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/List.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/List.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/ListDestinationShares.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/ListDestinationShares.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/ListDestinationShares.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/ListDestinationShares.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/Migrate.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/Migrate.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/Migrate.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/Migrate.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/MigrationStatus.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/MigrationStatus.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Containers/MigrationStatus.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Containers/MigrationStatus.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/Create.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Create.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/Create.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Create.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Get.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/Get.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Get.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/GetGarbageCollectionState.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/GetGarbageCollectionState.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/GetGarbageCollectionState.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/GetGarbageCollectionState.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/List.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/List.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/List.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetricDefinitions.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/ListMetricDefinitions.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetricDefinitions.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetrics.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/ListMetrics.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/ListMetrics.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/StartGarbageCollection.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/StartGarbageCollection.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/StartGarbageCollection.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/StartGarbageCollection.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/Update.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Update.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Farms/Update.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Farms/Update.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Operations/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Operations/List.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Operations/List.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Operations/List.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/QueueService/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/Get.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/QueueService/Get.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/Get.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/QueueService/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetricDefinitions.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/QueueService/ListMetricDefinitions.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetricDefinitions.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/QueueService/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetrics.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/QueueService/ListMetrics.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/QueueService/ListMetrics.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/CreateOrUpdate.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/CreateOrUpdate.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/CreateOrUpdate.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/CreateOrUpdate.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/Delete.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Delete.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/Delete.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Delete.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Get.json
similarity index 86%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/Get.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Get.json
index 7f3b02edfd5a..630ce6ef9504 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/Get.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/Get.json
@@ -14,8 +14,8 @@
"type": "Microsoft.Storage.Admin/locations/quotas",
"location": "local",
"properties": {
- "numberOfStorageAccounts": -1000000000,
- "capacityInGb": -100000000
+ "numberOfStorageAccounts": 20,
+ "capacityInGb": 2048
}
}
},
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/List.json
similarity index 86%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/List.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/List.json
index 8c35ade928dc..a18cbb523c8f 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Quotas/List.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Quotas/List.json
@@ -15,8 +15,8 @@
"type": "Microsoft.Storage.Admin/locations/quotas",
"location": "local",
"properties": {
- "numberOfStorageAccounts": -1000000000,
- "capacityInGb": -100000000
+ "numberOfStorageAccounts": 20,
+ "capacityInGb": 2048
}
}
]
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Shares/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/Get.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Shares/Get.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/Get.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Shares/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/List.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Shares/List.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/List.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Shares/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetricDefinitions.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Shares/ListMetricDefinitions.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetricDefinitions.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Shares/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetrics.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/Shares/ListMetrics.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/Shares/ListMetrics.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Get.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/Get.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Get.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/List.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/List.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/List.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/List.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/Synchronize.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Synchronize.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/Synchronize.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Synchronize.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/SynchronizeAll.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/SynchronizeAll.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/SynchronizeAll.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/SynchronizeAll.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/Undelete.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Undelete.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/StorageAccounts/Undelete.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/StorageAccounts/Undelete.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/TableService/Get.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/Get.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/TableService/Get.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/Get.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/TableService/ListMetricDefinitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetricDefinitions.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/TableService/ListMetricDefinitions.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetricDefinitions.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/TableService/ListMetrics.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetrics.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/examples/TableService/ListMetrics.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/examples/TableService/ListMetrics.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/farms.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/farms.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/farms.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/queueServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/queueServices.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/quotas.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/quotas.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/quotas.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/shares.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/shares.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/shares.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/storage.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/storage.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storage.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/storageaccounts.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
similarity index 100%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/storageaccounts.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json
diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/tableServices.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
similarity index 95%
rename from specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/tableServices.json
rename to specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
index 528e83417535..edfb7523ccaa 100644
--- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2016-05-01/tableServices.json
+++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json
@@ -19,14 +19,14 @@
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage.Admin/farms/{farmId}/tableservices/{serviceType}": {
"get": {
"x-ms-examples": {
- "Returns the table servie.": {
+ "Returns the table service.": {
"$ref": "./examples/TableService/Get.json"
}
},
"tags": [
"TableServices"
],
- "description": "Returns the table servie.",
+ "description": "Returns the table service.",
"operationId": "TableServices_Get",
"parameters": [
{
diff --git a/specification/azsadmin/resource-manager/storage/readme.md b/specification/azsadmin/resource-manager/storage/readme.md
index 7b8bdc26fb05..6947d0cd7509 100644
--- a/specification/azsadmin/resource-manager/storage/readme.md
+++ b/specification/azsadmin/resource-manager/storage/readme.md
@@ -24,25 +24,25 @@ These are the global settings for the Storage API.
title: StorageAdminClient
description: Storage Admin Client
openapi-type: arm
-tag: package-2016-05-01
+tag: package-2015-12-01
```
-### Tag: package-2016-05-01
+### Tag: package-2015-12-01
-These settings apply only when `--tag=package-2016-05-01` is specified on the command line.
+These settings apply only when `--tag=package-2015-12-01` is specified on the command line.
-``` yaml $(tag) == 'package-2016-05-01'
+``` yaml $(tag) == 'package-2015-12-01'
input-file:
- - "Microsoft.Storage.Admin/preview/2016-05-01/storage.json"
- - "Microsoft.Storage.Admin/preview/2016-05-01/acquisitions.json"
- - "Microsoft.Storage.Admin/preview/2016-05-01/blobServices.json"
- - "Microsoft.Storage.Admin/preview/2016-05-01/containers.json"
- - "Microsoft.Storage.Admin/preview/2016-05-01/farms.json"
- - "Microsoft.Storage.Admin/preview/2016-05-01/queueServices.json"
- - "Microsoft.Storage.Admin/preview/2016-05-01/quotas.json"
- - "Microsoft.Storage.Admin/preview/2016-05-01/shares.json"
- - "Microsoft.Storage.Admin/preview/2016-05-01/storageaccounts.json"
- - "Microsoft.Storage.Admin/preview/2016-05-01/tableServices.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/storage.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/acquisitions.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/blobServices.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/containers.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/farms.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/queueServices.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/quotas.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/shares.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/storageaccounts.json"
+ - "Microsoft.Storage.Admin/preview/2015-12-01/tableServices.json"
```
---
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersCheckNameAvailability.json
new file mode 100644
index 000000000000..7403c8ef82b8
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersCheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-01-21",
+ "location": "wus",
+ "clusterName": {
+ "name": "kuskusprod",
+ "type": "Microsoft.Kusto/Clusters"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kuskusprod",
+ "nameAvailable": false,
+ "message": "Name 'kuskusprod' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersCreateOrUpdate.json
new file mode 100644
index 000000000000..03bcb2d03594
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersCreateOrUpdate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-01-21",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersDelete.json
new file mode 100644
index 000000000000..9234b8e61552
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersGet.json
new file mode 100644
index 000000000000..0fd12cb1ab7a
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersList.json
new file mode 100644
index 000000000000..fb4f5ed93a24
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersListByResourceGroup.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersListByResourceGroup.json
new file mode 100644
index 000000000000..e980cdbb1605
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersListResourceSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersListResourceSkus.json
new file mode 100644
index 000000000000..c890116019fc
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersListResourceSkus.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "D13_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "D14_v2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "L8",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "clusters",
+ "sku": {
+ "name": "L16",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 2,
+ "maximum": 100,
+ "default": 2,
+ "scaleType": "automatic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersListSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersListSkus.json
new file mode 100644
index 000000000000..9e80353aa036
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersListSkus.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "D13_v2",
+ "tier": "Standard",
+ "capacity": 2
+ },
+ {
+ "name": "D14_v2",
+ "tier": "Standard",
+ "capacity": 2
+ },
+ {
+ "name": "L8",
+ "tier": "Standard",
+ "capacity": 2
+ },
+ {
+ "name": "L16",
+ "tier": "Standard",
+ "capacity": 2
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersStart.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersStart.json
new file mode 100644
index 000000000000..94667ea3d882
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersStop.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersStop.json
new file mode 100644
index 000000000000..94667ea3d882
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersUpdate.json
new file mode 100644
index 000000000000..c13e894858db
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoClustersUpdate.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-01-21",
+ "parameters": {
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionValidation.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionValidation.json
new file mode 100644
index 000000000000..86135cad805d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionValidation.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body":
+ [
+ {
+ "errorMessage": "event hub namespace does not exist"
+ },
+ {
+ "errorMessage": "database does not exist"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsCreateOrUpdate.json
new file mode 100644
index 000000000000..801e2d336540
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsCreateOrUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "201": {},
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsDelete.json
new file mode 100644
index 000000000000..7960e399c939
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21",
+ "dataConnectionName": "kustoeventhubconnection1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsGet.json
new file mode 100644
index 000000000000..aacc0baca9a7
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21",
+ "dataConnectionName": "DataConnections8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsListByDatabase.json
new file mode 100644
index 000000000000..61721f996afa
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsListByDatabase.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/KustoDataConnection8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/KustoDataConnection8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9/DataConnections/KustoDataConnection9",
+ "name": "KustoClusterRPTest4/KustoDatabase9/KustoDataConnection9",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns2/eventhubs/eventhubTest2",
+ "consumerGroup": "testConsumerGroup2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsUpdate.json
new file mode 100644
index 000000000000..968155a912f3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDataConnectionsUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "201": {},
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabaseAddPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabaseAddPrincipals.json
new file mode 100644
index 000000000000..29d9328dc6cd
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabaseAddPrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "databaseName1",
+ "api-version": "2019-01-21",
+ "databasePrincipalsToAdd": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabaseListPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabaseListPrincipals.json
new file mode 100644
index 000000000000..5880ecd761a7
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabaseListPrincipals.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "databaseName1",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabaseRemovePrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabaseRemovePrincipals.json
new file mode 100644
index 000000000000..fd53beb66edb
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabaseRemovePrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "databaseName1",
+ "api-version": "2019-01-21",
+ "databasePrincipalsToRemove": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Some User",
+ "role": "Admin",
+ "type": "User",
+ "fqn": "aaduser=some_guid",
+ "email": "user@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "Kusto",
+ "role": "Viewer",
+ "type": "Group",
+ "fqn": "aadgroup=some_guid",
+ "email": "kusto@microsoft.com",
+ "appId": ""
+ },
+ {
+ "name": "SomeApp",
+ "role": "Admin",
+ "type": "App",
+ "fqn": "aadapp=some_guid_app_id",
+ "email": "",
+ "appId": "some_guid_app_id"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCheckNameAvailability.json
new file mode 100644
index 000000000000..5fd3ed55cd53
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2019-01-21",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoProd",
+ "databaseName": {
+ "name": "kuskus",
+ "type": "Microsoft.Kusto/Clusters/Databases"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kuskus",
+ "nameAvailable": false,
+ "message": "Name 'kuskus' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json
new file mode 100644
index 000000000000..fadab650286a
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {},
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesDelete.json
new file mode 100644
index 000000000000..163fed0c1086
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesGet.json
new file mode 100644
index 000000000000..ce574b10b534
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesListByCluster.json
new file mode 100644
index 000000000000..909f64ff452e
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesListByCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9",
+ "name": "KustoClusterRPTest4/KustoDatabase9",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json
new file mode 100644
index 000000000000..efdb383dfe0e
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "KustoClusterRPTest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2019-01-21",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {},
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoOperationsList.json
new file mode 100644
index 000000000000..a5f4328bba90
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-01-21"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "operationName",
+ "display": {
+ "provider": "providerName",
+ "resource": "resourceName",
+ "operation": "operationName",
+ "description": "operation description"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json
new file mode 100644
index 000000000000..ccd9d4950e79
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json
@@ -0,0 +1,2188 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KustoManagementClient",
+ "version": "2019-01-21"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "x-ms-examples": {
+ "KustoClustersGet": {
+ "$ref": "./examples/KustoClustersGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoClustersCreateOrUpdate": {
+ "$ref": "./examples/KustoClustersCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully created the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "x-ms-examples": {
+ "KustoClustersUpdate": {
+ "$ref": "./examples/KustoClustersUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterUpdate"
+ },
+ "description": "The Kusto cluster parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "x-ms-examples": {
+ "KustoClustersDelete": {
+ "$ref": "./examples/KustoClustersDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- cluster deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete cluster request."
+ },
+ "204": {
+ "description": "NoContent -- cluster does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Stop",
+ "x-ms-examples": {
+ "KustoClustersStop": {
+ "$ref": "./examples/KustoClustersStop.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Stops a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Start",
+ "x-ms-examples": {
+ "KustoClustersStart": {
+ "$ref": "./examples/KustoClustersStart.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Starts a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListByResourceGroup",
+ "x-ms-examples": {
+ "KustoClustersListByResourceGroup": {
+ "$ref": "./examples/KustoClustersListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all Kusto clusters within a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_List",
+ "x-ms-examples": {
+ "KustoClustersList": {
+ "$ref": "./examples/KustoClustersList.json"
+ }
+ },
+ "description": "Lists all Kusto clusters within a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": {
+ "get": {
+ "description": "Lists eligible SKUs for Kusto resource provider.",
+ "x-ms-examples": {
+ "KustoClustersListSkus": {
+ "$ref": "./examples/KustoClustersListSkus.json"
+ }
+ },
+ "operationId": "Clusters_ListSkus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": { "$ref": "#/definitions/ListSkusResult" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoClustersCheckNameAvailability": {
+ "$ref": "./examples/KustoClustersCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the cluster name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Azure location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "clusterName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterCheckNameRequest"
+ },
+ "description": "The name of the cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDatabaseCheckNameAvailability": {
+ "$ref": "./examples/KustoDatabasesCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the database name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "databaseName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseCheckNameRequest"
+ },
+ "description": "The name of the database."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListSkusByResource",
+ "x-ms-examples": {
+ "KustoClustersListResourceSkus": {
+ "$ref": "./examples/KustoClustersListResourceSkus.json"
+ }
+ },
+ "description": "Returns the SKUs available for the provided resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": { "$ref": "#/definitions/ListResourceSkusResult" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns the list of databases of the given Kusto cluster.",
+ "operationId": "Databases_ListByCluster",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDatabasesListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of databases.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns a database.",
+ "operationId": "Databases_Get",
+ "x-ms-examples": {
+ "KustoDatabasesGet": {
+ "$ref": "./examples/KustoDatabasesGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Creates or updates a database.",
+ "operationId": "Databases_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDatabasesCreateOrUpdate": {
+ "$ref": "./examples/KustoDatabasesCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Updates a database.",
+ "operationId": "Databases_Update",
+ "x-ms-examples": {
+ "KustoDatabasesUpdate": {
+ "$ref": "./examples/KustoDatabasesUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabaseUpdate"
+ },
+ "description": "The database parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the update database request."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Deletes the database with the given name.",
+ "operationId": "Databases_Delete",
+ "x-ms-examples": {
+ "KustoDatabasesDelete": {
+ "$ref": "./examples/KustoDatabasesDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the database."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified database does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns a list of database principals of the given Kusto cluster and database.",
+ "operationId": "Databases_ListPrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseListPrincipals": {
+ "$ref": "./examples/KustoDatabaseListPrincipals.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of database principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_AddPrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseAddPrincipals": {
+ "$ref": "./examples/KustoDatabaseAddPrincipals.json"
+ }
+ },
+ "description": "Add Database principals permissions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "databasePrincipalsToAdd",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListRequest"
+ },
+ "description": "List of database principals to add."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully added the list of database principals. Returns the updated list of principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_RemovePrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseRemovePrincipals": {
+ "$ref": "./examples/KustoDatabaseRemovePrincipals.json"
+ }
+ },
+ "description": "Remove Database principals permissions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "databasePrincipalsToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListRequest"
+ },
+ "description": "List of database principals to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns the list of data connections of the given Kusto database.",
+ "operationId": "DataConnections_ListByDatabase",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDataConnectionsListByDatabase.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of data connections.",
+ "schema": {
+ "$ref": "#/definitions/DataConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": {
+ "post": {
+ "tags": [
+ "DataConnections"
+ ],
+ "operationId": "DataConnections_dataConnectionValidation",
+ "x-ms-examples": {
+ "KustoDataConnectionValidation": {
+ "$ref": "./examples/KustoDataConnectionValidation.json"
+ }
+ },
+ "description": "Checks that the data connection parameters are valid.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnectionValidation"
+ },
+ "description": "The data connection parameters supplied to the CreateOrUpdate operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/DataConnectionValidationListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns a data connection.",
+ "operationId": "DataConnections_Get",
+ "x-ms-examples": {
+ "KustoDataConnectionsGet": {
+ "$ref": "./examples/KustoDataConnectionsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Creates or updates a data connection.",
+ "operationId": "DataConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDataConnectionsCreateOrUpdate": {
+ "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully created the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the create data connection request."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Updates a data connection.",
+ "operationId": "DataConnections_Update",
+ "x-ms-examples": {
+ "KustoDataConnectionsUpdate": {
+ "$ref": "./examples/KustoDataConnectionsUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the update data connection request."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Deletes the data connection with the given name.",
+ "operationId": "DataConnections_Delete",
+ "x-ms-examples": {
+ "KustoDataConnectionsDelete": {
+ "$ref": "./examples/KustoDataConnectionsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the data connection."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified data connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.Kusto/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "KustoOperationsList": {
+ "$ref": "./examples/KustoOperationsList.json"
+ }
+ },
+ "description": "Lists available operations for the Microsoft.Kusto provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the list of available operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterProperties": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the resource.",
+ "enum": [
+ "Creating",
+ "Unavailable",
+ "Running",
+ "Deleting",
+ "Deleted",
+ "Stopping",
+ "Stopped",
+ "Starting",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "uri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster URI."
+ },
+ "dataIngestionUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster data ingestion URI."
+ },
+ "trustedExternalTenants": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrustedExternalTenant"
+ },
+ "description": "The cluster's external tenants."
+ }
+ },
+ "description": "Class representing the Kusto cluster properties."
+ },
+ "TrustedExternalTenant": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "GUID representing an external tenant."
+ }
+ },
+ "description": "Represents a tenant ID that is trusted by the cluster."
+ },
+ "AzureResourceSku": {
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Namespace and Type."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU details."
+ },
+ "capacity": {
+ "$ref": "#/definitions/AzureCapacity",
+ "description": "The SKU capacity."
+ }
+ },
+ "description": "Azure resource SKU definition."
+ },
+ "AzureCapacity": {
+ "type": "object",
+ "required": [
+ "minimum",
+ "maximum",
+ "default",
+ "scaleType"
+ ],
+ "properties": {
+ "scaleType": {
+ "description": "Scale type.",
+ "type": "string",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "AzureScaleType",
+ "modelAsString": true
+ }
+ },
+ "minimum": {
+ "description": "Minimum allowed capacity.",
+ "type": "integer"
+ },
+ "maximum": {
+ "description": "Maximum allowed capacity.",
+ "type": "integer"
+ },
+ "default": {
+ "description": "The default capacity that would be used.",
+ "type": "integer"
+ }
+ },
+ "description": "Azure capacity definition."
+ },
+ "AzureSku": {
+ "type": "object",
+ "required": [
+ "name",
+ "tier"
+ ],
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "type": "string",
+ "enum": [
+ "D13_v2",
+ "D14_v2",
+ "L8",
+ "L16",
+ "D11_v2",
+ "D12_v2",
+ "L4"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuName",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "description": "SKU capacity.",
+ "type": "integer"
+ },
+ "tier": {
+ "description": "SKU tier.",
+ "type": "string",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Azure SKU definition."
+ },
+ "DatabaseStatistics": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "size": {
+ "type": "number",
+ "description": "The database size - the total size of compressed data and index in bytes."
+ }
+ },
+ "description": "A class that contains database statistics information."
+ },
+ "DatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data that should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "description": "The statistics of the database."
+ }
+ },
+ "description": "Class representing the Kusto database properties."
+ },
+ "EventHubConnectionProperties": {
+ "properties": {
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The resource ID of the event hub to be used to create a data connection."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The event hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/DataFormat",
+ "description": "The data format of the message. Optionally the data format can be added to each message."
+ }
+ },
+ "required": [
+ "eventHubResourceId",
+ "consumerGroup"
+ ],
+ "description": "Class representing the Kusto event hub connection properties."
+ },
+ "DataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO"
+ ],
+ "x-ms-enum": {
+ "name": "dataFormat",
+ "modelAsString": true
+ }
+ },
+ "EventGridConnectionProperties": {
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "The resource ID of the storage account where the data resides."
+ },
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The resource ID where the event grid is configured to send events."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The event hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/DataFormat",
+ "description": "The data format of the message. Optionally the data format can be added to each message."
+ }
+ },
+ "required": [
+ "storageAccountResourceId",
+ "eventHubResourceId",
+ "consumerGroup",
+ "tableName",
+ "dataFormat"
+ ],
+ "description": "Class representing the Kusto event grid connection properties."
+ },
+ "Cluster": {
+ "required": [
+ "sku"
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterProperties",
+ "description": "The cluster properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Class representing a Kusto cluster."
+ },
+ "ClusterUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The cluster properties.",
+ "$ref": "#/definitions/ClusterProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Class representing an update to a Kusto cluster."
+ },
+ "Database": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/DatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a Kusto database."
+ },
+ "DatabaseUpdate": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the updated database.",
+ "$ref": "#/definitions/DatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Class representing an update to a Kusto database."
+ },
+ "DatabasePrincipal": {
+ "type": "object",
+ "required": [
+ "name",
+ "role",
+ "type"
+ ],
+ "properties": {
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Database principal name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Database principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalType",
+ "modelAsString": true
+ }
+ },
+ "fqn": {
+ "description": "Database principal fully qualified name.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Database principal email if exists.",
+ "type": "string"
+ },
+ "appId": {
+ "description": "Application id - relevant only for application principal type.",
+ "type": "string"
+ }
+ },
+ "description": "A class representing database principal entity."
+ },
+ "ClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The list of Kusto clusters."
+ }
+ },
+ "description": "The list Kusto clusters operation response."
+ },
+ "DatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The list of Kusto databases."
+ }
+ },
+ "description": "The list Kusto databases operation response."
+ },
+ "DatabasePrincipalListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "DataConnection": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the endpoint for the data connection",
+ "enum": [
+ "EventHub",
+ "EventGrid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an data connection.",
+ "discriminator": "kind"
+ },
+ "DataConnectionValidationResult": {
+ "type": "object",
+ "properties": {
+ "errorMessage": {
+ "type": "string",
+ "description": "A message which indicates a problem in data connection validation."
+ }
+ },
+ "description": "The result returned from a data connection validation request."
+ },
+ "DatabasePrincipalListRequest": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation request."
+ },
+ "DataConnectionValidation": {
+ "properties": {
+ "dataConnectionName": {
+ "type": "string",
+ "description": "The name of the data connection."
+ },
+ "properties": {
+ "$ref": "#/definitions/DataConnection",
+ "description": "The data connection properties to validate."
+ }
+ },
+ "description": "Class representing an data connection validation."
+ },
+ "EventHubDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The Event Hub data connection properties to validate.",
+ "$ref": "#/definitions/EventHubConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an event hub data connection.",
+ "x-ms-discriminator-value": "EventHub"
+ },
+ "EventGridDataConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the Event Grid data connection.",
+ "$ref": "#/definitions/EventGridConnectionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataConnection"
+ }
+ ],
+ "description": "Class representing an Event Grid data connection.",
+ "x-ms-discriminator-value": "EventGrid"
+ },
+ "DataConnectionValidationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataConnectionValidationResult"
+ },
+ "description": "The list of Kusto data connection validation errors."
+ }
+ },
+ "description": "The list Kusto data connection validation result."
+ },
+ "DataConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The list of Kusto data connections."
+ }
+ },
+ "description": "The list Kusto data connections operation response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "An error response from Kusto."
+ }
+ },
+ "description": "An error response from Kusto."
+ },
+ "ClusterCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Cluster name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a cluster check name availability request."
+ },
+ "DatabaseCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Database name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a database check name availability request."
+ },
+ "CheckNameResult": {
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Specifies a Boolean value that indicates if the name is available."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name that was checked."
+ },
+ "message": {
+ "type": "string",
+ "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated."
+ }
+ },
+ "description": "The result returned from a check name availability request."
+ },
+ "ListResourceSkusResult": {
+ "description": "List of available SKUs for an existing Kusto Cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": { "$ref": "#/definitions/AzureResourceSku" },
+ "description": "The collection of available SKUs for an existing resource."
+ }
+ }
+ },
+ "ListSkusResult": {
+ "description": "List of available SKUs for a new Kusto Cluster.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": { "$ref": "#/definitions/AzureSku" },
+ "description": "The collection of available SKUs for new resources."
+ }
+ }
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for displaying in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from Kusto."
+ },
+ "OperationListResult": {
+ "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "title": "The list of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "title": "A REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "The operation name.",
+ "description": "This is of the format {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "title": "The object that describes the operation.",
+ "properties": {
+ "provider": {
+ "title": "Friendly name of the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "title": "The operation type.",
+ "description": "For example: read, write, delete.",
+ "type": "string"
+ },
+ "resource": {
+ "title": "The resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "description": {
+ "title": "The friendly name of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "title": "The intended executor of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "title": "Properties of the operation.",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "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."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "description": "The name of the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group containing the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database in the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DataConnectionNameParameter": {
+ "name": "dataConnectionName",
+ "in": "path",
+ "description": "The name of the data connection.",
+ "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": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md
index b0bb13f333c9..014c133476b6 100644
--- a/specification/azure-kusto/resource-manager/readme.go.md
+++ b/specification/azure-kusto/resource-manager/readme.go.md
@@ -14,6 +14,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2018-09-07-preview
+ - tag: package-2019-01-21
```
### Tag: package-2018-09-07-preview and go
@@ -24,3 +25,12 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-01-21' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-01-21/$(namespace)
+```
diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index 4ef174cc472c..f047529f7976 100644
--- a/specification/azure-kusto/resource-manager/readme.md
+++ b/specification/azure-kusto/resource-manager/readme.md
@@ -28,7 +28,16 @@ These are the global settings for the Kusto API.
title: KustoManagementClient
description: The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases.
openapi-type: arm
-tag: package-2018-09-07-preview
+tag: package-2019-01-21
+```
+
+### Tag: package-2019-01-21
+
+These settings apply only when `--tag=package-2019-01-21` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-01-21'
+input-file:
+ - Microsoft.Kusto/stable/2019-01-21/kusto.json
```
### Tag: package-2018-09-07-preview
@@ -49,6 +58,17 @@ input-file:
- Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json
```
+### Tag: schema-2019-01-21
+
+These settings apply only when `--tag=schema-2019-01-21` is specified on the command line.
+
+These can be regenerated by running the following PowerShell script from this readme file's folder: `dir .\Microsoft.Kusto\preview\2018-09-07-preview\ -File | Resolve-Path -Relative | % { " - $_".Replace("\", "/") }`
+
+``` yaml $(tag) == 'schema-2019-01-21'
+input-file:
+ - Microsoft.Kusto/stable/2019-01-21/kusto.json
+```
+
### Tag: schema-2018-09-07-preview
These settings apply only when `--tag=schema-2018-09-07-preview` is specified on the command line.
@@ -83,6 +103,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-java
```
## C#
@@ -98,3 +119,51 @@ csharp:
output-folder: $(csharp-sdks-folder)/Kusto/Management.Kusto/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)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.kusto
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kusto
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2018-09-07-preview
+ - tag: package-2019-01-21
+```
+
+### Tag: package-2018-09-07-preview and java
+
+These settings apply only when `--tag=package-2018-09-07-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-09-07-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2018_09_07_preview
+ output-folder: $(azure-libraries-for-java-folder)/kusto/resource-manager/v2018_09_07_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-01-21 and java
+
+These settings apply only when `--tag=package-2019-01-21 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-01-21' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2019_01_21
+ output-folder: $(azure-libraries-for-java-folder)/kusto/resource-manager/v2019_01_21
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md
index f06d9ffce1c4..60d2ed7bcc4a 100644
--- a/specification/azurestack/resource-manager/readme.md
+++ b/specification/azurestack/resource-manager/readme.md
@@ -9,7 +9,7 @@ The Azure Stack RP comprises of small services where each service has its own ta
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.
+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.
---
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2018-12-01.8.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2018-12-01.8.0/BatchService.json
index 3e91d04cadf1..2010728d8f31 100644
--- a/specification/batch/data-plane/Microsoft.Batch/stable/2018-12-01.8.0/BatchService.json
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2018-12-01.8.0/BatchService.json
@@ -3287,7 +3287,7 @@
"JobSchedule update": { "$ref": "./examples/JobScheduleUpdate.json" }
},
"summary": "Updates the properties of the specified job schedule.",
- "description": "This fully replaces all the updateable properties of the job schedule. For example, if the schedule property is not specified with this request, then the Batch service will remove the existing schedule. Changes to a job schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are unaffected.",
+ "description": "This fully replaces all the updatable properties of the job schedule. For example, if the schedule property is not specified with this request, then the Batch service will remove the existing schedule. Changes to a job schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are unaffected.",
"x-ms-request-id": "request-id",
"parameters": [
{
@@ -4605,7 +4605,7 @@
"Job update": { "$ref": "./examples/JobUpdate.json" }
},
"summary": "Updates the properties of the specified job.",
- "description": "This fully replaces all the updateable properties of the job. For example, if the job has constraints associated with it and if constraints is not specified with this request, then the Batch service will remove the existing constraints.",
+ "description": "This fully replaces all the updatable properties of the job. For example, if the job has constraints associated with it and if constraints is not specified with this request, then the Batch service will remove the existing constraints.",
"x-ms-request-id": "request-id",
"parameters": [
{
@@ -7441,7 +7441,7 @@
"Pool update": { "$ref": "./examples/PoolUpdate.json" }
},
"summary": "Updates the properties of the specified pool.",
- "description": "This fully replaces all the updateable properties of the pool. For example, if the pool has a start task associated with it and if start task is not specified with this request, then the Batch service will remove the existing start task.",
+ "description": "This fully replaces all the updatable properties of the pool. For example, if the pool has a start task associated with it and if start task is not specified with this request, then the Batch service will remove the existing start task.",
"x-ms-request-id": "request-id",
"parameters": [
{
@@ -9245,7 +9245,7 @@
"Node update user": { "$ref": "./examples/NodeUpdateUser.json" }
},
"summary": "Updates the password and expiration time of a user account on the specified compute node.",
- "description": "This operation replaces of all the updateable properties of the account. For example, if the expiryTime element is not specified, the current value is replaced with the default value, not left unmodified. You can update a user account on a node only when it is in the idle or running state.",
+ "description": "This operation replaces of all the updatable properties of the account. For example, if the expiryTime element is not specified, the current value is replaced with the default value, not left unmodified. You can update a user account on a node only when it is in the idle or running state.",
"x-ms-request-id": "request-id",
"parameters": [
{
@@ -11130,7 +11130,7 @@
"storageContainerUrl": {
"type": "string",
"title": "The URL of the blob container within Azure Blob Storage.",
- "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading blobs from the container. There are two ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the container, or set the ACL for the container to allow public access."
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading blobs from the container. There are two ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, or set the ACL for the container to allow public access."
},
"httpUrl": {
"type": "string",
@@ -11576,7 +11576,7 @@
"userIdentity": {
"$ref": "#/definitions/UserIdentity",
"title": "The user identity under which the Job Preparation task runs.",
- "description": "If omitted, the task runs as a non-administrative user unique to the task on Windows nodes, or a a non-administrative user unique to the pool on Linux nodes."
+ "description": "If omitted, the task runs as a non-administrative user unique to the task on Windows nodes, or a non-administrative user unique to the pool on Linux nodes."
},
"rerunOnNodeRebootAfterSuccess": {
"type": "boolean",
@@ -12462,7 +12462,7 @@
"networkConfiguration": {
"$ref": "#/definitions/JobNetworkConfiguration",
"title": "The network configuration for the job."
- },
+ },
"metadata": {
"type": "array",
"items": {
@@ -12477,7 +12477,8 @@
},
"stats": {
"$ref": "#/definitions/JobStatistics",
- "title": "Resource usage statistics for the entire lifetime of the job. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
+ "title": "Resource usage statistics for the entire lifetime of the job.",
+ "description": "This property is populated only if the CloudJob was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
}
},
"title": "An Azure Batch job."
@@ -12556,7 +12557,7 @@
"networkConfiguration": {
"$ref": "#/definitions/JobNetworkConfiguration",
"title": "The network configuration for the job."
- }
+ }
},
"required": [ "id", "poolInfo" ],
"title": "An Azure Batch job to add."
@@ -13065,7 +13066,7 @@
"items": {
"$ref": "#/definitions/DataDisk"
},
- "title": "The configuration for data disks attached to the comptue nodes in the pool.",
+ "title": "The configuration for data disks attached to the compute nodes in the pool.",
"description": "This property must be specified if the compute nodes in the pool need to have empty data disks attached to them. This cannot be updated. Each node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the node is removed from the pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine."
},
"licenseType": {
@@ -13401,7 +13402,8 @@
},
"stats": {
"$ref": "#/definitions/PoolStatistics",
- "title": "Utilization and resource usage statistics for the entire lifetime of the pool. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
+ "title": "Utilization and resource usage statistics for the entire lifetime of the pool.",
+ "description": "This property is populated only if the CloudPool was retrieved with an expand clause including the 'stats' attribute; otherwise it is null. The statistics may not be immediately available. The Batch service performs periodic roll-up of statistics. The typical delay is about 30 minutes."
}
},
"title": "A pool in the Azure Batch service."
@@ -13710,7 +13712,7 @@
},
"required": [ "coordinationCommandLine" ],
"title": "Settings which specify how to run a multi-instance task.",
- "description": "Multi-instance tasks are commonly used to support MPI tasks."
+ "description": "Multi-instance tasks are commonly used to support MPI tasks. In the MPI case, if any of the subtasks fail (for example due to exiting with a non-zero exit code) the entire multi-instance task fails. The multi-instance task is then terminated and retried, up to its retry limit."
},
"TaskStatistics": {
"properties": {
@@ -14355,7 +14357,7 @@
"state": {
"type": "string",
"title": "The current state of the compute node.",
- "description": "The low-priority node has been preempted. Tasks which were running on the node when it was pre-empted will be rescheduled when another node becomes available.",
+ "description": "The low-priority node has been preempted. Tasks which were running on the node when it was preempted will be rescheduled when another node becomes available.",
"enum": [
"idle",
"rebooting",
@@ -14428,7 +14430,7 @@
},
{
"value": "preempted",
- "description": "The low-priority node has been preempted. Tasks which were running on the node when it was pre-empted will be rescheduled when another node becomes available."
+ "description": "The low-priority node has been preempted. Tasks which were running on the node when it was preempted will be rescheduled when another node becomes available."
}
]
}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/BatchManagement.json
new file mode 100644
index 000000000000..1a537f8648b6
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/BatchManagement.json
@@ -0,0 +1,4019 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "BatchManagement",
+ "version": "2018-12-01",
+ "x-ms-code-generation-settings": {
+ "name": "BatchManagementClient"
+ }
+ },
+ "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.Batch/batchAccounts/{accountName}": {
+ "put": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_Create",
+ "x-ms-examples": {
+ "BatchAccountCreate_Default": { "$ref": "./examples/BatchAccountCreate_Default.json" },
+ "BatchAccountCreate_BYOS": { "$ref": "./examples/BatchAccountCreate_BYOS.json" }
+ },
+ "description": "Creates a new Batch account with the specified parameters. Existing accounts cannot be updated with this API and should instead be updated with the Update Batch Account API.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._]+$",
+ "minLength": 3,
+ "maxLength": 24,
+ "description": "A name for the Batch account which must be unique within the region. Batch account names must be between 3 and 24 characters in length and must use only numbers and lowercase letters. This name is used as part of the DNS name that is used to access the Batch service in the region in which the account is created. For example: http://accountname.region.batch.azure.com/."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BatchAccountCreateParameters"
+ },
+ "description": "Additional parameters for account creation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch account entity.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccount"
+ }
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_Update",
+ "x-ms-examples": {
+ "BatchAccountUpdate": { "$ref": "./examples/BatchAccountUpdate.json" }
+ },
+ "description": "Updates the properties of an existing Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BatchAccountUpdateParameters"
+ },
+ "description": "Additional parameters for account update."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch account entity.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_Delete",
+ "x-ms-examples": {
+ "BatchAccountDelete": { "$ref": "./examples/BatchAccountDelete.json" }
+ },
+ "description": "Deletes the specified Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "204": {
+ "description": "NoContent -- account does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_Get",
+ "x-ms-examples": {
+ "BatchAccountGet": { "$ref": "./examples/BatchAccountGet.json" }
+ },
+ "description": "Gets information about the specified Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch account entity.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts": {
+ "get": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_List",
+ "x-ms-examples": {
+ "BatchAccountList": { "$ref": "./examples/BatchAccountList.json" }
+ },
+ "description": "Gets information about the Batch accounts associated with the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of Batch account entities associated with the subscription.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts": {
+ "get": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_ListByResourceGroup",
+ "x-ms-examples": {
+ "BatchAccountListByResourceGroup": { "$ref": "./examples/BatchAccountListByResourceGroup.json" }
+ },
+ "description": "Gets information about the Batch accounts associated with the specified resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of Batch account entities associated with the resource group.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys": {
+ "post": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_SynchronizeAutoStorageKeys",
+ "x-ms-examples": {
+ "BatchAccountSynchronizeAutoStorageKeys": { "$ref": "./examples/BatchAccountSynchronizeAutoStorageKeys.json" }
+ },
+ "description": "Synchronizes access keys for the auto-storage account configured for the specified Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The operation was successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_RegenerateKey",
+ "x-ms-examples": {
+ "BatchAccountRegenerateKey": { "$ref": "./examples/BatchAccountRegenerateKey.json" }
+ },
+ "description": "Regenerates the specified account key for the Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BatchAccountRegenerateKeyParameters"
+ },
+ "description": "The type of key to regenerate."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch account keys.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys": {
+ "post": {
+ "tags": [
+ "BatchAccount"
+ ],
+ "operationId": "BatchAccount_GetKeys",
+ "x-ms-examples": {
+ "BatchAccountGetKeys": { "$ref": "./examples/BatchAccountGetKeys.json" }
+ },
+ "summary": "Gets the account keys for the specified Batch account.",
+ "description": "This operation applies only to Batch accounts created with a poolAllocationMode of 'BatchService'. If the Batch account was created with a poolAllocationMode of 'UserSubscription', clients cannot use access to keys to authenticate, and must use Azure Active Directory instead. In this case, getting the keys will fail.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the keys of the Batch account.",
+ "schema": {
+ "$ref": "#/definitions/BatchAccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}/activate": {
+ "post": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_Activate",
+ "x-ms-examples": {
+ "ApplicationPackageActivate": { "$ref": "./examples/ApplicationPackageActivate.json" }
+ },
+ "description": "Activates the specified application package.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActivateApplicationPackageParameters"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application package entity.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationPackage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}": {
+ "put": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_Create",
+ "x-ms-examples": {
+ "ApplicationCreate": { "$ref": "./examples/ApplicationCreate.json" }
+ },
+ "description": "Adds an application to the specified Batch account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application entity.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_Delete",
+ "x-ms-examples": {
+ "ApplicationDelete": { "$ref": "./examples/ApplicationDelete.json" }
+ },
+ "description": "Deletes an application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "204": {
+ "description": "The operation was successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_Get",
+ "x-ms-examples": {
+ "ApplicationGet": { "$ref": "./examples/ApplicationGet.json" }
+ },
+ "description": "Gets information about the specified application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application entity.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_Update",
+ "x-ms-examples": {
+ "ApplicationUpdate": { "$ref": "./examples/ApplicationUpdate.json" }
+ },
+ "description": "Updates settings for the specified application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "The parameters for the request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application entity.",
+ "schema": {
+ "$ref": "#/definitions/Application"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}": {
+ "put": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_Create",
+ "x-ms-examples": {
+ "ApplicationPackageCreate": { "$ref": "./examples/ApplicationPackageCreate.json" }
+ },
+ "description": "Creates an application package record.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApplicationPackage"
+ },
+ "description": "The parameters for the request."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application package entity.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationPackage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_Delete",
+ "x-ms-examples": {
+ "ApplicationPackageDelete": { "$ref": "./examples/ApplicationPackageDelete.json" }
+ },
+ "description": "Deletes an application package record and its associated binary file.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "204": {
+ "description": "The operation was successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_Get",
+ "x-ms-examples": {
+ "ApplicationPackageGet": { "$ref": "./examples/ApplicationPackageGet.json" }
+ },
+ "description": "Gets information about the specified application package.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VersionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the application package entity.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationPackage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications": {
+ "get": {
+ "tags": [
+ "Application"
+ ],
+ "operationId": "Application_List",
+ "x-ms-examples": {
+ "ApplicationList": { "$ref": "./examples/ApplicationList.json" }
+ },
+ "description": "Lists all of the applications in the specified account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of the application entities associated with the specified account.",
+ "schema": {
+ "$ref": "#/definitions/ListApplicationsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions": {
+ "get": {
+ "tags": [
+ "ApplicationPackage"
+ ],
+ "operationId": "ApplicationPackage_List",
+ "x-ms-examples": {
+ "ApplicationList": { "$ref": "./examples/ApplicationPackageList.json" }
+ },
+ "description": "Lists all of the application packages in the specified application.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApplicationNameParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of the application package entities associated with the specified application.",
+ "schema": {
+ "$ref": "#/definitions/ListApplicationPackagesResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas": {
+ "get": {
+ "tags": [
+ "Location"
+ ],
+ "operationId": "Location_GetQuotas",
+ "x-ms-examples": {
+ "LocationGetQuotas": { "$ref": "./examples/LocationGetQuotas.json" }
+ },
+ "description": "Gets the Batch service quotas for the specified subscription at the given location.",
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The region for which to retrieve Batch service quotas."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the Batch service quotas for the subscription in the specified location.",
+ "schema": {
+ "$ref": "#/definitions/BatchLocationQuota"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Batch/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists available operations for the Microsoft.Batch provider",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the list of available operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability": {
+ "post": {
+ "operationId": "Location_CheckNameAvailability",
+ "description": "Checks whether the Batch account name is available in the specified region.",
+ "x-ms-examples": {
+ "LocationCheckNameAvailability_Available": { "$ref": "./examples/LocationCheckNameAvailability_Available.json" },
+ "LocationCheckNameAvailability_AlreadyExists": { "$ref": "./examples/LocationCheckNameAvailability_AlreadyExists.json" }
+ },
+ "parameters": [
+ {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The desired region for the name check."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameters"
+ },
+ "description": "Properties needed to check the availability of a name."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. Returns details about whether a Batch account name is available.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_ListByBatchAccount",
+ "description": "Lists all of the certificates in the specified account.",
+ "x-ms-examples": {
+ "ListCertificates": { "$ref": "./examples/CertificateList.json" },
+ "ListCertificates - Filter and Select": { "$ref": "./examples/CertificateListWithFilter.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are \"properties/provisioningState\", \"properties/provisioningStateTransitionTime\", \"name\"."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of certificates associated with the account.",
+ "schema": {
+ "$ref": "#/definitions/ListCertificatesResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}": {
+ "put": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Create",
+ "description": "Creates a new certificate inside the specified account.",
+ "x-ms-examples": {
+ "CreateCertificate - Minimal Pfx": { "$ref": "./examples/CertificateCreate_Minimal.json" },
+ "CreateCertificate - Minimal Cer": { "$ref": "./examples/CertificateCreate_MinimalCer.json" },
+ "CreateCertificate - Full": { "$ref": "./examples/CertificateCreate_Full.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateCreateOrUpdateParameters"
+ },
+ "description": "Additional parameters for certificate creation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The entity state (ETag) version of the certificate to update. A value of \"*\" can be used to apply the operation only if the certificate already exists. If omitted, this operation will always be applied."
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "Set to '*' to allow a new certificate to be created, but to prevent updating an existing certificate. Other values will be ignored."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Update",
+ "description": "Updates the properties of an existing certificate.",
+ "x-ms-examples": {
+ "UpdateCertificate": { "$ref": "./examples/CertificateUpdate.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateCreateOrUpdateParameters"
+ },
+ "description": "Certificate entity to update."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The entity state (ETag) version of the certificate to update. This value can be omitted or set to \"*\" to apply the operation unconditionally."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Delete",
+ "description": "Deletes the specified certificate.",
+ "x-ms-examples": {
+ "CertificateDelete": { "$ref": "./examples/CertificateDelete.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "204": {
+ "description": "The operation was successful."
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Get",
+ "description": "Gets information about the specified certificate.",
+ "x-ms-examples": {
+ "Get Certificate": { "$ref": "./examples/CertificateGet.json" },
+ "Get Certificate with Deletion Error": { "$ref": "./examples/CertificateGetWithDeletionError.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete": {
+ "post": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_CancelDeletion",
+ "summary": "Cancels a failed deletion of a certificate from the specified account.",
+ "description": "If you try to delete a certificate that is being used by a pool or compute node, the status of the certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not need to run this operation after the deletion failed. You must make sure that the certificate is not being used by any resources, and then you can try again to delete the certificate.",
+ "x-ms-examples": {
+ "CertificateCancelDeletion": { "$ref": "./examples/CertificateCancelDeletion.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CertificateNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the certificate entity.",
+ "schema": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools": {
+ "get": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_ListByBatchAccount",
+ "description": "Lists all of the pools in the specified account.",
+ "x-ms-examples": {
+ "ListPool": { "$ref": "./examples/PoolList.json" },
+ "ListPoolWithFilter": { "$ref": "./examples/PoolListWithFilter.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "maxresults",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of items to return in the response."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression. Valid properties for filtering are:\n\n name\n properties/allocationState\n properties/allocationStateTransitionTime\n properties/creationTime\n properties/provisioningState\n properties/provisioningStateTransitionTime\n properties/lastModified\n properties/vmSize\n properties/interNodeCommunication\n properties/scaleSettings/autoScale\n properties/scaleSettings/fixedScale"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains a list of certificates associated with the account.",
+ "schema": {
+ "$ref": "#/definitions/ListPoolsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}": {
+ "put": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_Create",
+ "description": "Creates a new pool inside the specified account.",
+ "x-ms-examples": {
+ "CreatePool - Minimal CloudServiceConfiguration": { "$ref": "./examples/PoolCreate_MinimalCloudServiceConfiguration.json" },
+ "CreatePool - Minimal VirtualMachineConfiguration": { "$ref": "./examples/PoolCreate_MinimalVirtualMachineConfiguration.json" },
+ "CreatePool - Full Example": { "$ref": "./examples/PoolCreate_FullExample.json" },
+ "CreatePool - Custom Image": { "$ref": "./examples/PoolCreate_CustomImage.json" },
+ "CreatePool - Full VirtualMachineConfiguration": { "$ref": "./examples/PoolCreate_VirtualMachineConfiguration.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "description": "Additional parameters for pool creation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The entity state (ETag) version of the pool to update. A value of \"*\" can be used to apply the operation only if the pool already exists. If omitted, this operation will always be applied."
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "Set to '*' to allow a new pool to be created, but to prevent updating an existing pool. Other values will be ignored."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_Update",
+ "description": "Updates the properties of an existing pool.",
+ "x-ms-examples": {
+ "UpdatePool - Resize Pool": { "$ref": "./examples/PoolUpdate_ResizePool.json" },
+ "UpdatePool - Enable Autoscale": { "$ref": "./examples/PoolUpdate_EnableAutoScale.json" },
+ "UpdatePool - Remove Start Task": { "$ref": "./examples/PoolUpdate_RemoveStartTask.json" },
+ "UpdatePool - Other Properties": { "$ref": "./examples/PoolUpdate_OtherProperties.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "description": "Pool properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "The entity state (ETag) version of the pool to update. This value can be omitted or set to \"*\" to apply the operation unconditionally."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_Delete",
+ "description": "Deletes the specified pool.",
+ "x-ms-examples": {
+ "DeletePool": { "$ref": "./examples/PoolDelete.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful."
+ },
+ "204": {
+ "description": "The operation was successful."
+ },
+ "202": {
+ "description": "The operation will be completed asynchronously.",
+ "headers": {
+ "Location": {
+ "description": "The URL of the resource used to check the status of the asynchronous operation.",
+ "type": "string"
+ },
+ "Retry-After": {
+ "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_Get",
+ "description": "Gets information about the specified pool.",
+ "x-ms-examples": {
+ "GetPool": { "$ref": "./examples/PoolGet.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale": {
+ "post": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_DisableAutoScale",
+ "description": "Disables automatic scaling for a pool.",
+ "x-ms-examples": {
+ "Disable AutoScale": { "$ref": "./examples/PoolDisableAutoScale.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize": {
+ "post": {
+ "tags": [
+ "Pool"
+ ],
+ "operationId": "Pool_StopResize",
+ "summary": "Stops an ongoing resize operation on the pool.",
+ "description": "This does not restore the pool to its previous state before the resize operation: it only stops any further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this API can also be used to halt the initial sizing of the pool when it is created.",
+ "x-ms-examples": {
+ "StopPoolResize": { "$ref": "./examples/PoolStopResize.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PoolNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the pool entity.",
+ "schema": {
+ "$ref": "#/definitions/Pool"
+ },
+ "headers": {
+ "ETag": {
+ "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AutoStorageBaseProperties": {
+ "properties": {
+ "storageAccountId": {
+ "type": "string",
+ "description": "The resource ID of the storage account to be used for auto-storage account."
+ }
+ },
+ "required": [
+ "storageAccountId"
+ ],
+ "description": "The properties related to the auto-storage account."
+ },
+ "BatchAccountUpdateProperties": {
+ "properties": {
+ "autoStorage": {
+ "$ref": "#/definitions/AutoStorageBaseProperties",
+ "description": "The properties related to the auto-storage account."
+ }
+ },
+ "description": "The properties of a Batch account."
+ },
+ "BatchAccountCreateProperties": {
+ "properties": {
+ "autoStorage": {
+ "$ref": "#/definitions/AutoStorageBaseProperties",
+ "description": "The properties related to the auto-storage account."
+ },
+ "poolAllocationMode": {
+ "title": "The allocation mode to use for creating pools in the Batch account.",
+ "description": "The pool allocation mode also affects how clients may authenticate to the Batch Service API. If the mode is BatchService, clients may authenticate using access keys or Azure Active Directory. If the mode is UserSubscription, clients must use Azure Active Directory. The default is BatchService.",
+ "$ref": "#/definitions/PoolAllocationMode"
+ },
+ "keyVaultReference": {
+ "$ref": "#/definitions/KeyVaultReference",
+ "description": "A reference to the Azure key vault associated with the Batch account."
+ }
+ },
+ "description": "The properties of a Batch account."
+ },
+ "BatchAccountCreateParameters": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The region in which to create the account."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The user-specified tags associated with the account."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BatchAccountCreateProperties",
+ "description": "The properties of the Batch account."
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "description": "Parameters supplied to the Create operation."
+ },
+ "KeyVaultReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The resource ID of the Azure key vault associated with the Batch account."
+ },
+ "url": {
+ "type": "string",
+ "description": "The URL of the Azure key vault associated with the Batch account."
+ }
+ },
+ "required": [
+ "id",
+ "url"
+ ],
+ "description": "Identifies the Azure key vault associated with a Batch account."
+ },
+ "AutoStorageProperties": {
+ "properties": {
+ "lastKeySync": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC time at which storage keys were last synchronized with the Batch account."
+ }
+ },
+ "required": [
+ "lastKeySync"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/AutoStorageBaseProperties"
+ }
+ ],
+ "description": "Contains information about the auto-storage account associated with a Batch account."
+ },
+ "BatchAccountProperties": {
+ "properties": {
+ "accountEndpoint": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The account endpoint used to interact with the Batch service."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "description": "The provisioned state of the resource",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The account is in an invalid state."
+ },
+ {
+ "value": "Creating",
+ "description": "The account is being created."
+ },
+ {
+ "value": "Deleting",
+ "description": "The account is being deleted."
+ },
+ {
+ "value": "Succeeded",
+ "description": "The account has been created and is ready for use."
+ },
+ {
+ "value": "Failed",
+ "description": "The last operation for the account is failed."
+ },
+ {
+ "value": "Cancelled",
+ "description": "The last operation for the account is cancelled."
+ }
+ ]
+ }
+ },
+ "poolAllocationMode": {
+ "readOnly": true,
+ "x-nullable": false,
+ "title": "The allocation mode to use for creating pools in the Batch account.",
+ "$ref": "#/definitions/PoolAllocationMode"
+ },
+ "keyVaultReference": {
+ "title": "A reference to the Azure key vault associated with the Batch account.",
+ "readOnly": true,
+ "$ref": "#/definitions/KeyVaultReference"
+ },
+ "autoStorage": {
+ "title": "The properties and status of any auto-storage account associated with the Batch account.",
+ "readOnly": true,
+ "$ref": "#/definitions/AutoStorageProperties"
+ },
+ "dedicatedCoreQuota": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "integer",
+ "format": "int32",
+ "title": "The dedicated core quota for this Batch account."
+ },
+ "lowPriorityCoreQuota": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "integer",
+ "format": "int32",
+ "title": "The low-priority core quota for this Batch account."
+ },
+ "poolQuota": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "integer",
+ "format": "int32",
+ "title": "The pool quota for this Batch account."
+ },
+ "activeJobAndJobScheduleQuota": {
+ "readOnly": true,
+ "x-nullable": false,
+ "type": "integer",
+ "format": "int32",
+ "title": "The active job and job schedule quota for this Batch account."
+ }
+ },
+ "description": "Account specific properties."
+ },
+ "BatchAccount": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BatchAccountProperties",
+ "description": "The properties associated with the account."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Contains information about an Azure Batch account."
+ },
+ "BatchAccountUpdateParameters": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The user-specified tags associated with the account."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BatchAccountUpdateProperties",
+ "description": "The properties of the account."
+ }
+ },
+ "description": "Parameters for updating an Azure Batch account."
+ },
+ "BatchAccountListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BatchAccount"
+ },
+ "description": "The collection of Batch accounts returned by the listing operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token."
+ }
+ },
+ "description": "Values returned by the List operation."
+ },
+ "BatchAccountRegenerateKeyParameters": {
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "The type of account key to regenerate.",
+ "enum": [
+ "Primary",
+ "Secondary"
+ ],
+ "x-ms-enum": {
+ "name": "AccountKeyType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Primary",
+ "description": "The primary account key."
+ },
+ {
+ "value": "Secondary",
+ "description": "The secondary account key."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "keyName"
+ ],
+ "description": "Parameters supplied to the RegenerateKey operation."
+ },
+ "BatchAccountKeys": {
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The Batch account name."
+ },
+ "primary": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The primary key associated with the account."
+ },
+ "secondary": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The secondary key associated with the account."
+ }
+ },
+ "description": "A set of Azure Batch account keys."
+ },
+ "ActivateApplicationPackageParameters": {
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "The format of the application package binary file."
+ }
+ },
+ "required": [
+ "format"
+ ],
+ "description": "Parameters for an activating an application package."
+ },
+ "Application": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationProperties",
+ "description": "The properties associated with the Application."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about an application in a Batch account."
+ },
+ "ApplicationProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The display name for the application."
+ },
+ "allowUpdates": {
+ "type": "boolean",
+ "description": "A value indicating whether packages within the application may be overwritten using the same version string."
+ },
+ "defaultVersion": {
+ "type": "string",
+ "description": "The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package."
+ }
+ },
+ "description": "The properties associated with the Application."
+ },
+ "ApplicationPackage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationPackageProperties",
+ "description": "The properties associated with the Application Package."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "An application package which represents a particular version of an application."
+ },
+ "ApplicationPackageProperties": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current state of the application package.",
+ "enum": [
+ "Pending",
+ "Active"
+ ],
+ "x-ms-enum": {
+ "name": "PackageState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Pending",
+ "description": "The application package has been created but has not yet been activated."
+ },
+ {
+ "value": "Active",
+ "description": "The application package is ready for use."
+ }
+ ]
+ }
+ },
+ "format": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The format of the application package, if the package is active."
+ },
+ "storageUrl": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL for the application package in Azure Storage."
+ },
+ "storageUrlExpiry": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The UTC time at which the Azure Storage URL will expire."
+ },
+ "lastActivationTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time at which the package was last activated, if the package is active."
+ }
+ },
+ "description": "Properties of an application package"
+ },
+ "ListApplicationsResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Application"
+ },
+ "description": "The list of applications."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The result of performing list applications."
+ },
+ "ListApplicationPackagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackage"
+ },
+ "description": "The list of application packages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The result of performing list application packages."
+ },
+ "BatchLocationQuota": {
+ "properties": {
+ "accountQuota": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The number of Batch accounts that may be created under the subscription in the specified region."
+ }
+ },
+ "description": "Quotas associated with a Batch region for a particular subscription."
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The location of the resource."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags of the resource."
+ }
+ },
+ "description": "A definition of an Azure resource.",
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ETag of the resource, used for concurrency statements."
+ }
+ },
+ "description": "A definition of an Azure resource.",
+ "x-ms-azure-resource": true
+ },
+ "PoolAllocationMode": {
+ "type": "string",
+ "description": "The allocation mode for creating pools in the Batch account.",
+ "enum": [
+ "BatchService",
+ "UserSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "PoolAllocationMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "BatchService",
+ "description": "Pools will be allocated in subscriptions owned by the Batch service."
+ },
+ {
+ "value": "UserSubscription",
+ "description": "Pools will be allocated in a subscription owned by the user."
+ }
+ ]
+ }
+ },
+ "CertificateBaseProperties": {
+ "properties": {
+ "thumbprintAlgorithm": {
+ "type": "string",
+ "title": "The algorithm of the certificate thumbprint",
+ "description": "This must match the first portion of the certificate name. Currently required to be 'SHA1'."
+ },
+ "thumbprint": {
+ "type": "string",
+ "title": "The thumbprint of the certificate",
+ "description": "This must match the thumbprint from the name."
+ },
+ "format": {
+ "type": "string",
+ "x-nullable": false,
+ "description": "The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx.",
+ "enum": [
+ "Pfx",
+ "Cer"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateFormat",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Pfx",
+ "description": "The certificate is a PFX (PKCS#12) formatted certificate or certificate chain."
+ },
+ {
+ "value": "Cer",
+ "description": "The certificate is a base64-encoded X.509 certificate."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "CertificateProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "title": "The provisioned state of the resource",
+ "enum": [
+ "Succeeded",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The certificate is available for use in pools."
+ },
+ {
+ "value": "Deleting",
+ "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools."
+ },
+ {
+ "value": "Failed",
+ "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete."
+ }
+ ]
+ }
+ },
+ "provisioningStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the certificate entered its current state.",
+ "readOnly": true
+ },
+ "previousProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": false,
+ "description": "The previous provisioned state of the resource",
+ "enum": [
+ "Succeeded",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The certificate is available for use in pools."
+ },
+ {
+ "value": "Deleting",
+ "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools."
+ },
+ {
+ "value": "Failed",
+ "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete."
+ }
+ ]
+ }
+ },
+ "previousProvisioningStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the certificate entered its previous state.",
+ "readOnly": true
+ },
+ "publicData": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The public key of the certificate."
+ },
+ "deleteCertificateError": {
+ "readOnly": true,
+ "$ref": "#/definitions/DeleteCertificateError",
+ "title": "The error which occurred while deleting the certificate",
+ "description": "This is only returned when the certificate provisioningState is 'Failed'."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CertificateBaseProperties"
+ }
+ ],
+ "description": "Certificate properties."
+ },
+ "CertificateCreateOrUpdateProperties": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CertificateBaseProperties"
+ }
+ ],
+ "properties": {
+ "data": {
+ "type": "string",
+ "title": "The base64-encoded contents of the certificate.",
+ "description": "The maximum size is 10KB."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to access the certificate's private key.",
+ "description": "This is required if the certificate format is pfx and must be omitted if the certificate format is cer."
+ }
+ },
+ "description": "Certificate properties for create operations",
+ "required": [ "data" ]
+ },
+ "Certificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CertificateProperties",
+ "description": "The properties associated with the certificate."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about a certificate."
+ },
+ "CertificateCreateOrUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CertificateCreateOrUpdateProperties",
+ "description": "The properties associated with the certificate."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about a certificate."
+ },
+ "ListCertificatesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ },
+ "description": "The collection of returned certificates."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token."
+ }
+ },
+ "description": "Values returned by the List operation."
+ },
+ "DeleteCertificateError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeleteCertificateError"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "required": [ "code", "message" ],
+ "description": "An error response from the Batch service."
+ },
+ "Pool": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PoolProperties",
+ "description": "The properties associated with the pool."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Contains information about a pool."
+ },
+ "PoolProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "title": "The display name for the pool.",
+ "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024."
+ },
+ "lastModified": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The last modified time of the pool.",
+ "description": "This is the last time at which the pool level data, such as the targetDedicatedNodes or autoScaleSettings, changed. It does not factor in node-level changes such as a compute node changing state.",
+ "readOnly": true
+ },
+ "creationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The creation time of the pool.",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "type": "string",
+ "title": "The current state of the pool.",
+ "enum": [
+ "Succeeded",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "PoolProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Succeeded",
+ "description": "The pool is available to run tasks subject to the availability of compute nodes."
+ },
+ {
+ "value": "Deleting",
+ "description": "The user has requested that the pool be deleted, but the delete operation has not yet completed."
+ }
+ ]
+ },
+ "readOnly": true
+ },
+ "provisioningStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the pool entered its current state.",
+ "readOnly": true
+ },
+ "allocationState": {
+ "type": "string",
+ "title": "Whether the pool is resizing.",
+ "enum": [
+ "Steady",
+ "Resizing",
+ "Stopping"
+ ],
+ "x-ms-enum": {
+ "name": "AllocationState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Steady",
+ "description": "The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A pool enters this state when it is created and when no operations are being performed on the pool to change the number of nodes."
+ },
+ {
+ "value": "Resizing",
+ "description": "The pool is resizing; that is, compute nodes are being added to or removed from the pool."
+ },
+ {
+ "value": "Stopping",
+ "description": "The pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed."
+ }
+ ]
+ },
+ "readOnly": true
+ },
+ "allocationStateTransitionTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the pool entered its current allocation state.",
+ "readOnly": true
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of virtual machines in the pool. All VMs in a pool are the same size.",
+ "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)."
+ },
+ "deploymentConfiguration": {
+ "$ref": "#/definitions/DeploymentConfiguration",
+ "title": "This property describes how the pool nodes will be deployed - using Cloud Services or Virtual Machines.",
+ "description": "Using CloudServiceConfiguration specifies that the nodes should be creating using Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines (IaaS)."
+ },
+ "currentDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of compute nodes currently in the pool.",
+ "readOnly": true
+ },
+ "currentLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The number of low priority compute nodes currently in the pool.",
+ "readOnly": true
+ },
+ "scaleSettings": {
+ "$ref": "#/definitions/ScaleSettings",
+ "title": "Settings which configure the number of nodes in the pool."
+ },
+ "autoScaleRun": {
+ "$ref": "#/definitions/AutoScaleRun",
+ "title": "The results and errors from the last execution of the autoscale formula.",
+ "description": "This property is set only if the pool automatically scales, i.e. autoScaleSettings are used.",
+ "readOnly": true
+ },
+ "interNodeCommunication": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "InterNodeCommunicationState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Enable network communication between virtual machines."
+ },
+ {
+ "value": "Disabled",
+ "description": "Disable network communication between virtual machines."
+ }
+ ]
+ },
+ "title": "Whether the pool permits direct communication between nodes.",
+ "description": "This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. If not specified, this value defaults to 'Disabled'."
+ },
+ "networkConfiguration": {
+ "$ref": "#/definitions/NetworkConfiguration",
+ "title": "The network configuration for the pool."
+ },
+ "maxTasksPerNode": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of tasks that can run concurrently on a single compute node in the pool."
+ },
+ "taskSchedulingPolicy": {
+ "$ref": "#/definitions/TaskSchedulingPolicy",
+ "title": "How tasks are distributed across compute nodes in a pool."
+ },
+ "userAccounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccount"
+ },
+ "title": "The list of user accounts to be created on each node in the pool."
+ },
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataItem"
+ },
+ "title": "A list of name-value pairs associated with the pool as metadata.",
+ "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code."
+ },
+ "startTask": {
+ "$ref": "#/definitions/StartTask",
+ "title": "A task specified to run on each compute node as it joins the pool.",
+ "description": "In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool."
+ },
+ "certificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateReference"
+ },
+ "title": "The list of certificates to be installed on each compute node in the pool.",
+ "description": "For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory."
+ },
+ "applicationPackages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationPackageReference"
+ },
+ "title": "The list of application packages to be installed on each compute node in the pool.",
+ "description": "Changes to application packages affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged."
+ },
+ "applicationLicenses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The list of application licenses the Batch service will make available on each compute node in the pool.",
+ "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail."
+ },
+ "resizeOperationStatus": {
+ "$ref": "#/definitions/ResizeOperationStatus",
+ "title": "Contains details about the current or last completed resize operation.",
+ "readOnly": true
+ }
+ },
+ "description": "Pool properties."
+ },
+ "DeploymentConfiguration": {
+ "properties": {
+ "cloudServiceConfiguration": {
+ "$ref": "#/definitions/CloudServiceConfiguration",
+ "title": "The cloud service configuration for the pool.",
+ "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'."
+ },
+ "virtualMachineConfiguration": {
+ "$ref": "#/definitions/VirtualMachineConfiguration",
+ "title": "The virtual machine configuration for the pool.",
+ "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified."
+ }
+ },
+ "title": "Deployment configuration properties."
+ },
+ "ScaleSettings": {
+ "properties": {
+ "fixedScale": {
+ "$ref": "#/definitions/FixedScaleSettings",
+ "title": "Fixed scale settings for the pool.",
+ "description": "This property and autoScale are mutually exclusive and one of the properties must be specified."
+ },
+ "autoScale": {
+ "$ref": "#/definitions/AutoScaleSettings",
+ "title": "AutoScale settings for the pool.",
+ "description": "This property and fixedScale are mutually exclusive and one of the properties must be specified."
+ }
+ },
+ "title": "Scale settings for the pool",
+ "description": "Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes."
+ },
+ "AutoScaleSettings": {
+ "properties": {
+ "formula": {
+ "type": "string",
+ "title": "A formula for the desired number of compute nodes in the pool.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/batch/batch-automatic-scaling",
+ "description": "Create an automatic scaling formula for scaling compute nodes in a Batch pool"
+ }
+ },
+ "evaluationInterval": {
+ "type": "string",
+ "format": "duration",
+ "title": "The time interval at which to automatically adjust the pool size according to the autoscale formula.",
+ "description": "If omitted, the default value is 15 minutes (PT15M)."
+ }
+ },
+ "required": [ "formula" ],
+ "title": "AutoScale settings for the pool."
+ },
+ "FixedScaleSettings": {
+ "properties": {
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of compute nodes to the pool.",
+ "description": "The default value is 15 minutes. Timeout values use ISO 8601 format. For example, use PT10M for 10 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated compute nodes in the pool.",
+ "description": "At least one of targetDedicatedNodes, targetLowPriority nodes must be set."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority compute nodes in the pool.",
+ "description": "At least one of targetDedicatedNodes, targetLowPriority nodes must be set."
+ },
+ "nodeDeallocationOption": {
+ "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.",
+ "description": "If omitted, the default value is Requeue.",
+ "$ref": "#/definitions/ComputeNodeDeallocationOption"
+ }
+ },
+ "title": "Fixed scale settings for the pool."
+ },
+ "ComputeNodeDeallocationOption": {
+ "type": "string",
+ "title": "Determines what to do with a node and its running task(s) after it has been selected for deallocation.",
+ "enum": [
+ "Requeue",
+ "Terminate",
+ "TaskCompletion",
+ "RetainedData"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeDeallocationOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Requeue",
+ "description": "Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Remove nodes as soon as tasks have been terminated."
+ },
+ {
+ "value": "Terminate",
+ "description": "Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove nodes as soon as tasks have been terminated."
+ },
+ {
+ "value": "TaskCompletion",
+ "description": "Allow currently running tasks to complete. Schedule no new tasks while waiting. Remove nodes when all tasks have completed."
+ },
+ {
+ "value": "RetainedData",
+ "description": "Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Remove nodes when all task retention periods have expired."
+ }
+ ]
+ }
+ },
+ "CertificateReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "The fully qualified ID of the certificate to install on the pool. This must be inside the same batch account as the pool."
+ },
+ "storeLocation": {
+ "type": "string",
+ "title": "The location of the certificate store on the compute node into which to install the certificate.",
+ "description": "The default value is currentUser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.",
+ "enum": [
+ "CurrentUser",
+ "LocalMachine"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateStoreLocation",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "CurrentUser",
+ "description": "Certificates should be installed to the CurrentUser certificate store."
+ },
+ {
+ "value": "LocalMachine",
+ "description": "Certificates should be installed to the LocalMachine certificate store."
+ }
+ ]
+ }
+ },
+ "storeName": {
+ "type": "string",
+ "title": "The name of the certificate store on the compute node into which to install the certificate.",
+ "description": "This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My."
+ },
+ "visibility": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "x-nullable": false,
+ "enum": [
+ "StartTask",
+ "Task",
+ "RemoteUser"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateVisibility",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "StartTask",
+ "description": "The certificate should be visible to the user account under which the start task is run."
+ },
+ {
+ "value": "Task",
+ "description": "The certificate should be visible to the user accounts under which job tasks are run."
+ },
+ {
+ "value": "RemoteUser",
+ "description": "The certificate should be visible to the user accounts under which users remotely access the node."
+ }
+ ]
+ }
+ },
+ "title": "Which user accounts on the compute node should have access to the private data of the certificate."
+ }
+ },
+ "required": [ "id" ],
+ "title": "A reference to a certificate to be installed on compute nodes in a pool. This must exist inside the same account as the pool."
+ },
+ "ApplicationPackageReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "The ID of the application package to install. This must be inside the same batch account as the pool. This can either be a reference to a specific version or the default version if one exists."
+ },
+ "version": {
+ "type": "string",
+ "title": "The version of the application to deploy. If omitted, the default version is deployed.",
+ "description": "If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409."
+ }
+ },
+ "title": "Link to an application package inside the batch account",
+ "required": [ "id" ]
+ },
+ "ResizeError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResizeError"
+ },
+ "title": "Additional details about the error."
+ }
+ },
+ "title": "An error that occurred when resizing a pool.",
+ "required": [ "code", "message" ]
+ },
+ "AutoScaleRunError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AutoScaleRunError"
+ },
+ "title": "Additional details about the error."
+ }
+ },
+ "title": "An error that occurred when autoscaling a pool.",
+ "required": [ "code", "message" ]
+ },
+ "AutoScaleRun": {
+ "properties": {
+ "evaluationTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time at which the autoscale formula was last evaluated."
+ },
+ "results": {
+ "type": "string",
+ "title": "The final values of all variables used in the evaluation of the autoscale formula.",
+ "description": "Each variable value is returned in the form $variable=value, and variables are separated by semicolons."
+ },
+ "error": {
+ "$ref": "#/definitions/AutoScaleRunError",
+ "title": "Details of the error encountered evaluating the autoscale formula on the pool, if the evaluation was unsuccessful."
+ }
+ },
+ "required": [ "evaluationTime" ],
+ "title": "The results and errors from an execution of a pool autoscale formula."
+ },
+ "VirtualMachineConfiguration": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "title": "A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use."
+ },
+ "nodeAgentSkuId": {
+ "type": "string",
+ "title": "The SKU of the Batch node agent to be provisioned on compute nodes in the pool.",
+ "description": "The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation."
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "title": "Windows operating system settings on the virtual machine.",
+ "description": "This property must not be specified if the imageReference specifies a Linux OS image."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDisk"
+ },
+ "title": "The configuration for data disks attached to the compute nodes in the pool.",
+ "description": "This property must be specified if the compute nodes in the pool need to have empty data disks attached to them."
+ },
+ "licenseType": {
+ "type": "string",
+ "title": "The type of on-premises license to be used when deploying the operating system.",
+ "description": "This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:\n\n Windows_Server - The on-premises license is for Windows Server.\n Windows_Client - The on-premises license is for Windows Client.\n"
+ },
+ "containerConfiguration": {
+ "$ref": "#/definitions/ContainerConfiguration",
+ "title": "The container configuration for the pool.",
+ "description": "If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it."
+ }
+ },
+ "required": [ "imageReference", "nodeAgentSkuId" ],
+ "title": "The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure."
+ },
+ "ContainerRegistry": {
+ "properties": {
+ "registryServer": {
+ "type": "string",
+ "title": "The registry URL.",
+ "description": "If omitted, the default is \"docker.io\"."
+ },
+ "username": {
+ "type": "string",
+ "x-ms-client-name": "userName",
+ "title": "The user name to log into the registry server."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password to log into the registry server."
+ }
+ },
+ "required": [ "username", "password" ],
+ "title": "A private container registry."
+ },
+ "ContainerConfiguration": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "title": "The container technology to be used.",
+ "enum": [
+ "DockerCompatible"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "DockerCompatible",
+ "description": "A Docker compatible container technology will be used to launch the containers."
+ }
+ ]
+ }
+ },
+ "containerImageNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The collection of container image names.",
+ "description": "This is the full image reference, as would be specified to \"docker pull\". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry."
+ },
+ "containerRegistries": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerRegistry"
+ },
+ "title": "Additional private registries from which containers can be pulled.",
+ "description": "If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here."
+ }
+ },
+ "required": [ "type" ],
+ "title": "The configuration for container-enabled pools."
+ },
+ "WindowsConfiguration": {
+ "properties": {
+ "enableAutomaticUpdates": {
+ "type": "boolean",
+ "title": "Whether automatic updates are enabled on the virtual machine.",
+ "description": "If omitted, the default value is true."
+ }
+ },
+ "title": "Windows operating system settings to apply to the virtual machine."
+ },
+ "ImageReference": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "title": "The publisher of the Azure Virtual Machines Marketplace image.",
+ "description": "For example, Canonical or MicrosoftWindowsServer."
+ },
+ "offer": {
+ "type": "string",
+ "title": "The offer type of the Azure Virtual Machines Marketplace image.",
+ "description": "For example, UbuntuServer or WindowsServer."
+ },
+ "sku": {
+ "type": "string",
+ "title": "The SKU of the Azure Virtual Machines Marketplace image.",
+ "description": "For example, 14.04.0-LTS or 2012-R2-Datacenter."
+ },
+ "version": {
+ "type": "string",
+ "title": "The version of the Azure Virtual Machines Marketplace image.",
+ "description": "A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'."
+ },
+ "id": {
+ "type": "string",
+ "title": "The ARM resource identifier of the virtual machine image. Computes nodes of the pool will be created using this custom image. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}",
+ "description": "This property is mutually exclusive with other properties. The virtual machine image must be in the same region and subscription as the Azure Batch account. For information about the firewall settings for Batch node agent to communicate with Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration ."
+ }
+ },
+ "title": "A reference to an Azure Virtual Machines Marketplace image or the Azure Image resource of a custom Virtual Machine. To get the list of all imageReferences verified by Azure Batch, see the 'List supported node agent SKUs' operation."
+ },
+ "DataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The logical unit number.",
+ "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun."
+ },
+ "caching": {
+ "$ref": "#/definitions/CachingType",
+ "title": "The type of caching to be enabled for the data disks.",
+ "description": "Values are:\n\n none - The caching mode for the disk is not enabled.\n readOnly - The caching mode for the disk is read only.\n readWrite - The caching mode for the disk is read and write.\n\n The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The initial disk size in GB when creating new data disk."
+ },
+ "storageAccountType": {
+ "title": "The storage account type to be used for the data disk.",
+ "description": "If omitted, the default is \"Standard_LRS\". Values are:\n\n Standard_LRS - The data disk should use standard locally redundant storage.\n Premium_LRS - The data disk should use premium locally redundant storage.",
+ "$ref": "#/definitions/StorageAccountType"
+ }
+ },
+ "required": [
+ "lun",
+ "diskSizeGB"
+ ],
+ "description": "Data Disk settings which will be used by the data disks associated to Compute Nodes in the pool."
+ },
+ "TaskSchedulingPolicy": {
+ "properties": {
+ "nodeFillType": {
+ "type": "string",
+ "title": "How tasks should be distributed across compute nodes.",
+ "enum": [
+ "Spread",
+ "Pack"
+ ],
+ "x-ms-enum": {
+ "name": "ComputeNodeFillType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Spread",
+ "description": "Tasks should be assigned evenly across all nodes in the pool."
+ },
+ {
+ "value": "Pack",
+ "description": "As many tasks as possible (maxTasksPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool."
+ }
+ ]
+ }
+ }
+ },
+ "required": [ "nodeFillType" ],
+ "title": "Specifies how tasks should be distributed across compute nodes."
+ },
+ "LinuxUserConfiguration": {
+ "properties": {
+ "uid": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The user ID of the user account.",
+ "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid."
+ },
+ "gid": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The group ID for the user account.",
+ "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid."
+ },
+ "sshPrivateKey": {
+ "type": "string",
+ "title": "The SSH private key for the user account.",
+ "description": "The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done)."
+ }
+ },
+ "title": "Properties used to create a user account on a Linux node."
+ },
+ "WindowsUserConfiguration": {
+ "properties": {
+ "loginMode": {
+ "type": "string",
+ "title": "Login mode for user",
+ "description": "Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode.",
+ "enum": [
+ "Batch",
+ "Interactive"
+ ],
+ "x-ms-enum": {
+ "name": "LoginMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Batch",
+ "description": "The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running parallel processes."
+ },
+ {
+ "value": "Interactive",
+ "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. Some applications require having permissions associated with the interactive login mode. If this is the case for an application used in your task, then this option is recommended."
+ }
+ ]
+ }
+ }
+ },
+ "title": "Properties used to create a user account on a Windows node."
+ },
+ "UserAccount": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the user account."
+ },
+ "password": {
+ "type": "string",
+ "title": "The password for the user account."
+ },
+ "elevationLevel": {
+ "title": "The elevation level of the user account.",
+ "description": "nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.",
+ "$ref": "#/definitions/ElevationLevel"
+ },
+ "linuxUserConfiguration": {
+ "title": "The Linux-specific user configuration for the user account.",
+ "description": "This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.",
+ "$ref": "#/definitions/LinuxUserConfiguration"
+ },
+ "windowsUserConfiguration": {
+ "title": "The Windows-specific user configuration for the user account.",
+ "description": "This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.",
+ "$ref": "#/definitions/WindowsUserConfiguration"
+ }
+ },
+ "required": [ "name", "password" ],
+ "title": "Properties used to create a user on an Azure Batch node."
+ },
+ "StartTask": {
+ "properties": {
+ "commandLine": {
+ "type": "string",
+ "title": "The command line of the start task.",
+ "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. Required if any other properties of the startTask are specified."
+ },
+ "resourceFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceFile"
+ },
+ "title": "A list of files that the Batch service will download to the compute node before running the command line."
+ },
+ "environmentSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentSetting"
+ },
+ "title": "A list of environment variable settings for the start task."
+ },
+ "userIdentity": {
+ "$ref": "#/definitions/UserIdentity",
+ "title": "The user identity under which the start task runs.",
+ "description": "If omitted, the task runs as a non-administrative user unique to the task."
+ },
+ "maxTaskRetryCount": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The maximum number of times the task may be retried.",
+ "description": "The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit."
+ },
+ "waitForSuccess": {
+ "type": "boolean",
+ "title": "Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node.",
+ "description": "If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is false."
+ },
+ "containerSettings": {
+ "$ref": "#/definitions/TaskContainerSettings",
+ "title": "The settings for the container under which the start task runs.",
+ "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container."
+ }
+ },
+ "title": "A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged."
+ },
+ "TaskContainerSettings": {
+ "properties": {
+ "containerRunOptions": {
+ "type": "string",
+ "title": "Additional options to the container create command.",
+ "description": "These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service."
+ },
+ "imageName": {
+ "type": "string",
+ "title": "The image to use to create the container in which the task will run.",
+ "description": "This is the full image reference, as would be specified to \"docker pull\". If no tag is provided as part of the image name, the tag \":latest\" is used as a default."
+ },
+ "registry": {
+ "$ref": "#/definitions/ContainerRegistry",
+ "title": "The private registry which contains the container image.",
+ "description": "This setting can be omitted if was already provided at pool creation."
+ }
+ },
+ "required": [ "imageName" ],
+ "title": "The container settings for a task."
+ },
+ "ResourceFile": {
+ "properties": {
+ "autoStorageContainerName": {
+ "type": "string",
+ "title": "The storage container name in the auto storage account.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified."
+ },
+ "storageContainerUrl": {
+ "type": "string",
+ "title": "The URL of the blob container within Azure Blob Storage.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access."
+ },
+ "httpUrl": {
+ "type": "string",
+ "title": "The URL of the file to download.",
+ "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access."
+ },
+ "blobPrefix": {
+ "type": "string",
+ "title": "The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded.",
+ "description": "The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded."
+ },
+ "filePath": {
+ "type": "string",
+ "title": "The location on the compute node to which to download the file, relative to the task's working directory.",
+ "description": "If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..')."
+ },
+ "fileMode": {
+ "type": "string",
+ "title": "The file permission mode attribute in octal format.",
+ "description": "This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file."
+ }
+ },
+ "title": "A single file or multiple files to be downloaded to a compute node."
+ },
+ "EnvironmentSetting": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value of the environment variable."
+ }
+ },
+ "required": [ "name" ],
+ "title": "An environment variable to be set on a task process."
+ },
+ "UserIdentity": {
+ "properties": {
+ "userName": {
+ "type": "string",
+ "title": "The name of the user identity under which the task is run.",
+ "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both."
+ },
+ "autoUser": {
+ "$ref": "#/definitions/AutoUserSpecification",
+ "title": "The auto user under which the task is run.",
+ "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both."
+ }
+ },
+ "title": "The definition of the user identity under which the task is run.",
+ "description": "Specify either the userName or autoUser property, but not both."
+ },
+ "AutoUserSpecification": {
+ "properties": {
+ "scope": {
+ "type": "string",
+ "title": "The scope for the auto user",
+ "description": "The default value is task.",
+ "enum": [
+ "Task",
+ "Pool"
+ ],
+ "x-ms-enum": {
+ "name": "AutoUserScope",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Task",
+ "description": "Specifies that the service should create a new user for the task."
+ },
+ {
+ "value": "Pool",
+ "description": "Specifies that the task runs as the common auto user account which is created on every node in a pool."
+ }
+ ]
+ }
+ },
+ "elevationLevel": {
+ "title": "The elevation level of the auto user.",
+ "description": "nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.",
+ "$ref": "#/definitions/ElevationLevel"
+ }
+ },
+ "title": "Specifies the parameters for the auto user that runs a task on the Batch service."
+ },
+ "ElevationLevel": {
+ "type": "string",
+ "title": "The elevation level of the user.",
+ "enum": [
+ "NonAdmin",
+ "Admin"
+ ],
+ "x-ms-enum": {
+ "name": "ElevationLevel",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "NonAdmin",
+ "description": "The user is a standard user without elevated access."
+ },
+ {
+ "value": "Admin",
+ "description": "The user is a user with elevated access and operates with full Administrator permissions."
+ }
+ ]
+ }
+ },
+ "StorageAccountType": {
+ "type": "string",
+ "title": "The storage account type for use in creating data disks.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "The data disk should use standard locally redundant storage."
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "The data disk should use premium locally redundant storage."
+ }
+ ]
+ }
+ },
+ "CachingType": {
+ "type": "string",
+ "title": "The type of caching to enable for the disk.",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "None",
+ "description": "The caching mode for the disk is not enabled."
+ },
+ {
+ "value": "ReadOnly",
+ "description": "The caching mode for the disk is read only."
+ },
+ {
+ "value": "ReadWrite",
+ "description": "The caching mode for the disk is read and write."
+ }
+ ]
+ }
+ },
+ "NetworkConfiguration": {
+ "properties": {
+ "subnetId": {
+ "type": "string",
+ "title": "The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.",
+ "description": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes, and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. For pools created via virtualMachineConfiguration the Batch account must have poolAllocationMode userSubscription in order to use a VNet. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor",
+ "description": "Setting up RBAC for Azure Batch VNets"
+ }
+ },
+ "endpointConfiguration": {
+ "$ref": "#/definitions/PoolEndpointConfiguration",
+ "title": "The configuration for endpoints on compute nodes in the Batch pool.",
+ "description": "Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property."
+ }
+ },
+ "description": "The network configuration for a pool."
+ },
+ "CloudServiceConfiguration": {
+ "properties": {
+ "osFamily": {
+ "type": "string",
+ "title": "The Azure Guest OS family to be installed on the virtual machines in the pool.",
+ "description": "Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)."
+ },
+ "osVersion": {
+ "type": "string",
+ "title": "The Azure Guest OS version to be installed on the virtual machines in the pool.",
+ "description": "The default value is * which specifies the latest operating system version for the specified OS family."
+ }
+ },
+ "required": [ "osFamily" ],
+ "title": "The configuration for nodes in a pool based on the Azure Cloud Services platform."
+ },
+ "MetadataItem": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the metadata item."
+ },
+ "value": {
+ "type": "string",
+ "title": "The value of the metadata item."
+ }
+ },
+ "required": [ "name", "value" ],
+ "title": "A name-value pair associated with a Batch service resource.",
+ "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code."
+ },
+ "ResizeOperationStatus": {
+ "properties": {
+ "targetDedicatedNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of dedicated compute nodes in the pool."
+ },
+ "targetLowPriorityNodes": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The desired number of low-priority compute nodes in the pool."
+ },
+ "resizeTimeout": {
+ "type": "string",
+ "format": "duration",
+ "title": "The timeout for allocation of compute nodes to the pool or removal of compute nodes from the pool.",
+ "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)."
+ },
+ "nodeDeallocationOption": {
+ "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.",
+ "description": "The default value is requeue.",
+ "$ref": "#/definitions/ComputeNodeDeallocationOption"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "title": "The time when this resize operation was started."
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResizeError"
+ },
+ "title": "Details of any errors encountered while performing the last resize on the pool.",
+ "description": "This property is set only if an error occurred during the last pool resize, and only when the pool allocationState is Steady."
+ }
+ },
+ "title": "Details about the current or last completed resize operation.",
+ "description": "Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady)."
+ },
+ "PoolEndpointConfiguration": {
+ "properties": {
+ "inboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundNatPool"
+ },
+ "title": "A list of inbound NAT pools that can be used to address specific ports on an individual compute node externally.",
+ "description": "The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400."
+ }
+ },
+ "required": [ "inboundNatPools" ],
+ "title": "The endpoint configuration for a pool."
+ },
+ "InboundNatPool": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "The name of the endpoint.",
+ "description": "The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400."
+ },
+ "protocol": {
+ "type": "string",
+ "title": "The protocol of the endpoint.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "InboundEndpointProtocol",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "TCP",
+ "description": "Use TCP for the endpoint."
+ },
+ {
+ "value": "UDP",
+ "description": "Use UDP for the endpoint."
+ }
+ ]
+ }
+ },
+ "backendPort": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The port number on the compute node.",
+ "description": "This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400."
+ },
+ "frontendPortRangeStart": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.",
+ "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400."
+ },
+ "frontendPortRangeEnd": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.",
+ "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400."
+ },
+ "networkSecurityGroupRules": {
+ "type": "array",
+ "title": "A list of network security group rules that will be applied to the endpoint.",
+ "description": "The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityGroupRule"
+ }
+ }
+ },
+ "required": [ "name", "protocol", "backendPort", "frontendPortRangeStart", "frontendPortRangeEnd" ],
+ "title": "A inbound NAT pool that can be used to address specific ports on compute nodes in a Batch pool externally."
+ },
+ "NetworkSecurityGroupRule": {
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The priority for this rule.",
+ "description": "Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 3500. If any reserved or duplicate values are provided the request fails with HTTP status code 400."
+ },
+ "access": {
+ "type": "string",
+ "title": "The action that should be taken for a specified IP address, subnet range or tag.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkSecurityGroupRuleAccess",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Allow",
+ "description": "Allow access."
+ },
+ {
+ "value": "Deny",
+ "description": "Deny access."
+ }
+ ]
+ }
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "title": "The source address prefix or tag to match for the rule.",
+ "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400."
+ }
+ },
+ "required": [ "priority", "access", "sourceAddressPrefix" ],
+ "title": "A network security group rule to apply to an inbound endpoint."
+ },
+ "ListPoolsResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Pool"
+ },
+ "description": "The collection of returned pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token."
+ }
+ },
+ "description": "Values returned by the List operation."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "Operation": {
+ "title": "A REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "title": "The operation name.",
+ "description": "This is of the format {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "title": "The object that describes the operation.",
+ "properties": {
+ "provider": {
+ "title": "Friendly name of the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "title": "The operation type.",
+ "description": "For example: read, write, delete, or listKeys/action",
+ "type": "string"
+ },
+ "resource": {
+ "title": "The resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "description": {
+ "title": "The friendly name of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "title": "The intended executor of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "title": "Properties of the operation.",
+ "type": "object"
+ }
+ }
+ },
+ "OperationListResult": {
+ "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "title": "The list of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "title": "The URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "CheckNameAvailabilityParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name to check for availability"
+ },
+ "type": {
+ "type": "string",
+ "enum": [ "Microsoft.Batch/batchAccounts" ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Microsoft.Batch/batchAccounts",
+ "description": "The Batch account resource type.",
+ "name": "BatchAccounts"
+ }
+ ]
+ },
+ "description": "The resource type. Must be set to Microsoft.Batch/batchAccounts"
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Parameters for a check name availability request."
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "nameAvailable": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Gets 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 invalid and cannot be used."
+ },
+ "reason": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailabilityReason",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Invalid",
+ "description": "The requested name is invalid."
+ },
+ {
+ "value": "AlreadyExists",
+ "description": "The requested name is already in use."
+ }
+ ]
+ },
+ "description": "Gets the reason that a Batch account name could not be used. The Reason element is only returned if NameAvailable is false."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets an error message explaining the Reason value in more detail."
+ }
+ },
+ "description": "The CheckNameAvailability operation response."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to be used with the HTTP request."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group that contains the Batch account.",
+ "x-ms-parameter-location": "method"
+ },
+ "AccountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._]+$",
+ "minLength": 3,
+ "maxLength": 24,
+ "description": "The name of the Batch account.",
+ "x-ms-parameter-location": "method"
+ },
+ "CertificateNameParameter": {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[\\w]+-[\\w]+$",
+ "minLength": 5,
+ "maxLength": 45,
+ "description": "The identifier for the certificate. This must be made up of algorithm and thumbprint separated by a dash, and must match the certificate data in the request. For example SHA1-a3d1c5.",
+ "x-ms-parameter-location": "method"
+ },
+ "PoolNameParameter": {
+ "name": "poolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The pool name. This must be unique within the account.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApplicationNameParameter": {
+ "name": "applicationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_-]+$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The name of the application. This must be unique within the account.",
+ "x-ms-parameter-location": "method"
+ },
+ "VersionNameParameter": {
+ "name": "versionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[a-zA-Z0-9_-][a-zA-Z0-9_.-]*$",
+ "minLength": 1,
+ "maxLength": 64,
+ "description": "The version of the application.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationCreate.json
new file mode 100644
index 000000000000..0c1047f0b948
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationCreate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "parameters": {
+ "properties": {
+ "allowUpdates": false,
+ "displayName": "myAppName"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64F8EBB3DC411\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1",
+ "name": "app1",
+ "etag": "W/\"0x8D64F8EBB3DC411\"",
+ "properties": {
+ "allowUpdates": false,
+ "displayName": "myAppName"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationDelete.json
new file mode 100644
index 000000000000..5e440c03da85
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationGet.json
new file mode 100644
index 000000000000..aec413231def
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64F915BDF7F00\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1",
+ "name": "app1",
+ "etag": "W/\"0x8D64F915BDF7F00\"",
+ "properties": {
+ "allowUpdates": true,
+ "displayName": "Sample Application"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationList.json
new file mode 100644
index 000000000000..231fd196cddf
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1",
+ "name": "app1",
+ "etag": "W/\"0x8D64F91A9089879\"",
+ "properties": {
+ "allowUpdates": false,
+ "defaultVersion": "1"
+ }
+ },
+ {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app2",
+ "name": "app1",
+ "etag": "W/\"0x8D64F91A9089879\"",
+ "properties": {
+ "allowUpdates": false,
+ "defaultVersion": "2.0",
+ "displayName": "myAppName"
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageActivate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageActivate.json
new file mode 100644
index 000000000000..d8bc48c2f823
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageActivate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "versionName": "1",
+ "parameters": {
+ "format": "zip"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64FEC83A3B436\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1",
+ "name": "1",
+ "etag": "W/\"0x8D64FEC83A3B436\"",
+ "properties": {
+ "state": "Active",
+ "format": "zip",
+ "lastActivationTime":"2017-06-27T18:48:09.9330991Z"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageCreate.json
new file mode 100644
index 000000000000..8be9b15da357
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageCreate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "versionName": "1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64FEC83A3B436\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1",
+ "name": "1",
+ "etag": "W/\"0x8D64FEC83A3B436\"",
+ "properties": {
+ "storageUrl": "http://mystorage1.blob.core.windows.net/myapp?mysas",
+ "storageUrlExpiry": "2017-06-27T18:48:09.9330991Z",
+ "state": "Pending"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageDelete.json
new file mode 100644
index 000000000000..76181969de38
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "versionName": "1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageGet.json
new file mode 100644
index 000000000000..40253cbe68e2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "versionName": "1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64FEC83A3B436\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1",
+ "name": "1",
+ "etag": "W/\"0x8D64FEC83A3B436\"",
+ "properties": {
+ "state": "Active",
+ "format": "zip",
+ "lastActivationTime":"2017-06-27T18:48:09.9330991Z"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageList.json
new file mode 100644
index 000000000000..f4ef7ba4189b
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationPackageList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1.0",
+ "name": "1.0",
+ "etag": "W/\"0x8D64FF0B9F47F67\"",
+ "properties": {
+ "state": "Pending"
+ }
+ },
+ {
+ "type": "Microsoft.Batch/batchAccounts/applications/versions",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/2.0",
+ "name": "2.0",
+ "etag": "W/\"0x8D64FF0B9F47F67\"",
+ "properties": {
+ "state": "Active",
+ "format": "zip",
+ "lastActivationTime":"2017-06-27T18:48:09.9330991Z"
+ }
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationUpdate.json
new file mode 100644
index 000000000000..c9355a114953
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/ApplicationUpdate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "applicationName": "app1",
+ "parameters": {
+ "properties": {
+ "allowUpdates": true,
+ "displayName": "myAppName",
+ "defaultVersion": "2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D64F915BDF7F00\""
+ },
+ "body": {
+ "type": "Microsoft.Batch/batchAccounts/applications",
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1",
+ "name": "app1",
+ "etag": "W/\"0x8D64F915BDF7F00\"",
+ "properties": {
+ "allowUpdates": true,
+ "displayName": "myAppName",
+ "defaultVersion": "2"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountCreate_BYOS.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountCreate_BYOS.json
new file mode 100644
index 000000000000..b5b305cdc8e9
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountCreate_BYOS.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "japaneast",
+ "properties": {
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage"
+ },
+ "poolAllocationMode": "UserSubscription",
+ "keyVaultReference": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample",
+ "url": "http://sample.vault.azure.net/"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "UserSubscription",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ },
+ "keyVaultReference": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample",
+ "url": "http://sample.vault.azure.net/"
+ }
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountCreate_Default.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountCreate_Default.json
new file mode 100644
index 000000000000..c0b7541190f7
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountCreate_Default.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "japaneast",
+ "properties": {
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ }
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountDelete.json
new file mode 100644
index 000000000000..7d32947fb5a2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountGet.json
new file mode 100644
index 000000000000..3e9b561e4383
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ }
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountGetKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountGetKeys.json
new file mode 100644
index 000000000000..ffb9a92b7bb0
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountGetKeys.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountName": "sampleacct",
+ "primary": "AAAA==",
+ "secondary": "BBBB=="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountList.json
new file mode 100644
index 000000000000..7f366d7f2ae6
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ }
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountListByResourceGroup.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountListByResourceGroup.json
new file mode 100644
index 000000000000..889e7753d5b2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountListByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ }
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountRegenerateKey.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountRegenerateKey.json
new file mode 100644
index 000000000000..d867fd3eed63
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountRegenerateKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "keyName": "Primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountName": "sampleacct",
+ "primary": "AAAA==",
+ "secondary": "BBBB=="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountSynchronizeAutoStorageKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountSynchronizeAutoStorageKeys.json
new file mode 100644
index 000000000000..0bfc652df0cb
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountSynchronizeAutoStorageKeys.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountUpdate.json
new file mode 100644
index 000000000000..35470243a9c7
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/BatchAccountUpdate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "sampleacct",
+ "location": "japaneast",
+ "properties": {
+ "accountEndpoint": "sampleacct.japaneast.batch.azure.com",
+ "provisioningState": "Succeeded",
+ "poolAllocationMode": "BatchService",
+ "dedicatedCoreQuota": 20,
+ "lowPriorityCoreQuota": 20,
+ "poolQuota": 20,
+ "activeJobAndJobScheduleQuota": 20,
+ "autoStorage": {
+ "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage",
+ "lastKeySync": "2016-03-10T23:48:38.9878479Z"
+ }
+ },
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCancelDeletion.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCancelDeletion.json
new file mode 100644
index 000000000000..710568d78965
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCancelDeletion.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "certificateName": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD513C3EDBB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "name": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag": "W/\"0x8D4EDD513C3EDBB\"",
+ "properties": {
+ "thumbprintAlgorithm":"SHA1",
+ "thumbprint":"0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime":"2017-07-21T01:47:38.4420202Z",
+ "previousProvisioningState": "Failed",
+ "previousProvisioningStateTransitionTime": "2017-07-21T00:22:54.3299195Z",
+ "format": "Pfx",
+ "publicData":"MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCreate_Full.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCreate_Full.json
new file mode 100644
index 000000000000..0a3c2b332054
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCreate_Full.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "certificateName": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "parameters": {
+ "properties": {
+ "thumbprintAlgorithm":"SHA1",
+ "thumbprint":"0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "data":"MIIJsgIBAzCCCW4GCSqGSIb3DQE...",
+ "password":"KG0UY40e...",
+ "format": "Pfx"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "name": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag":"W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm":"SHA1",
+ "thumbprint":"0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime":"2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData":"MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCreate_Minimal.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCreate_Minimal.json
new file mode 100644
index 000000000000..bd3b1ff2b93f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCreate_Minimal.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "certificateName": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "parameters": {
+ "properties": {
+ "data":"MIIJsgIBAzCCCW4GCSqGSIb3DQE...",
+ "password":"KG0UY40e..."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "name": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag":"W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm":"SHA1",
+ "thumbprint":"0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime":"2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData":"MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCreate_MinimalCer.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCreate_MinimalCer.json
new file mode 100644
index 000000000000..ee9b9fb0526f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateCreate_MinimalCer.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "certificateName": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "parameters": {
+ "properties": {
+ "data":"MIICrjCCAZagAwI...",
+ "format": "Cer"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "name": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag":"W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm":"SHA1",
+ "thumbprint":"0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime":"2017-07-21T01:47:38.4420202Z",
+ "format": "Cer",
+ "publicData":"MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateDelete.json
new file mode 100644
index 000000000000..d7404dfd2977
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "certificateName": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": { },
+ "202": {
+ "headers": {
+ "Retry-After": "15",
+ "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/certificateOperationResults/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E-8D4EDFF164A11C9?api-version=2018-12-01"
+ }
+ },
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateGet.json
new file mode 100644
index 000000000000..d22d85bb10e2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "certificateName": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "name": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag":"W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm":"SHA1",
+ "thumbprint":"0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime":"2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData":"MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateGetWithDeletionError.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateGetWithDeletionError.json
new file mode 100644
index 000000000000..979e1d11ea25
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateGetWithDeletionError.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "certificateName": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "name": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag":"W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm":"SHA1",
+ "thumbprint":"0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "provisioningState": "Failed",
+ "provisioningStateTransitionTime":"2017-07-21T01:47:38.4420202Z",
+ "previousProvisioningState": "Deleting",
+ "previousProvisioningStateTransitionTime":"2017-07-21T00:15:25.5625498Z",
+ "format": "Pfx",
+ "publicData":"MIICrjCCAZagAwI...",
+ "deleteCertificateError": {
+ "code": "NodesReferencingCertificate",
+ "message": "The specified certificate is being used by the below mentioned node(s)\nRequestId:2dc78afc-b15b-42d2-8c85-39cb61a0799e\nTime:2017-08-28T10:22:52.8633406Z",
+ "target": "BatchAccount",
+ "details": [
+ {
+ "code": "Nodes",
+ "message": "node1, node3"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateList.json
new file mode 100644
index 000000000000..ca246d74904a
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "api-version": "2018-12-01",
+ "maxResults": "1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "name": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag":"W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm":"SHA1",
+ "thumbprint":"0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime":"2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData":"MIICrjCCAZagAwI..."
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates?api-version=2017-06-01&$skiptoken=NPK%3D28%3A2857p428pug%2022F53A7734C947B8NRK%3D45%3Asha1-c23dc7f22edc793856a7506fe66397ccb4a33b46SM%3D5%3AFalse"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateListWithFilter.json
new file mode 100644
index 000000000000..9e5431fba385
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateListWithFilter.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "api-version": "2018-12-01",
+ "$filter": "properties/provisioningStateTransitionTime gt '2017-05-01' or properties/provisioningState eq 'Failed'",
+ "$select": "properties/format,properties/provisioningState"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "name": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag":"W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "provisioningState": "Failed",
+ "format": "Pfx"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-AEB228FFB0BF67A793D61DCE263EBD16949F15A1",
+ "name": "SHA1-AEB228FFB0BF67A793D61DCE263EBD16949F15A1",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag":"W/\"0x8D4EDD5118572E0\"",
+ "properties": {
+ "provisioningState": "Failed",
+ "format": "Cer"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateUpdate.json
new file mode 100644
index 000000000000..bd3b1ff2b93f
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/CertificateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "certificateName": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "parameters": {
+ "properties": {
+ "data":"MIIJsgIBAzCCCW4GCSqGSIb3DQE...",
+ "password":"KG0UY40e..."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDD5118668F7\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "name": "SHA1-0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "type":"Microsoft.Batch/batchAccounts/certificates",
+ "etag":"W/\"0x8D4EDD5118668F7\"",
+ "properties": {
+ "thumbprintAlgorithm":"SHA1",
+ "thumbprint":"0A0E4F50D51BEADEAC1D35AFC5116098E7902E6E",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime":"2017-07-21T01:47:38.4420202Z",
+ "format": "Pfx",
+ "publicData":"MIICrjCCAZagAwI..."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/LocationCheckNameAvailability_AlreadyExists.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/LocationCheckNameAvailability_AlreadyExists.json
new file mode 100644
index 000000000000..08ef61ee753e
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/LocationCheckNameAvailability_AlreadyExists.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "locationName": "japaneast",
+ "parameters": {
+ "name": "existingaccountname",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "An account named 'existingaccountname' is already in use."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/LocationCheckNameAvailability_Available.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/LocationCheckNameAvailability_Available.json
new file mode 100644
index 000000000000..b591ebafbb81
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/LocationCheckNameAvailability_Available.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "locationName": "japaneast",
+ "parameters": {
+ "name": "newaccountname",
+ "type": "Microsoft.Batch/batchAccounts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/LocationGetQuotas.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/LocationGetQuotas.json
new file mode 100644
index 000000000000..4a47f4fb34fd
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/LocationGetQuotas.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "locationName": "japaneast"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountQuota": 1
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_CustomImage.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_CustomImage.json
new file mode 100644
index 000000000000..325b22b75b60
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_CustomImage.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/images/image-123"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 14.04"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/images/image-123"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 14.04"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 0,
+ "targetLowPriorityNodes": 0
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_FullExample.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_FullExample.json
new file mode 100644
index 000000000000..4f44add3995b
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_FullExample.json
@@ -0,0 +1,259 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "parameters": {
+ "properties": {
+ "displayName": "my-pool-name",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Enabled",
+ "maxTasksPerNode": 13,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Pack"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "WA-GUEST-OS-4.45_201708-01"
+ }
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ },
+ "metadata": [
+ {
+ "name": "metadata-1",
+ "value": "value-1"
+ },
+ {
+ "name": "metadata-2",
+ "value": "value-2"
+ }
+ ],
+ "startTask": {
+ "commandLine": "cmd /c SET",
+ "resourceFiles": [
+ {
+ "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file",
+ "filePath": "c:\\temp\\gohere",
+ "fileMode": "777"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "MYSET",
+ "value": "1234"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "Pool",
+ "elevationLevel": "Admin"
+ }
+ },
+ "maxTaskRetryCount": 6,
+ "waitForSuccess": true
+ },
+ "userAccounts": [
+ {
+ "name": "username1",
+ "password": "examplepassword",
+ "elevationLevel": "Admin",
+ "linuxUserConfiguration": {
+ "sshPrivateKey": "sshprivatekeyvalue",
+ "uid": 1234,
+ "gid": 4567
+ }
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234",
+ "version": "asdf"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/SHA1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "RemoteUser"
+ ]
+ }
+ ],
+ "applicationLicenses": [
+ "app-license0",
+ "app-license1"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Enabled",
+ "maxTasksPerNode": 13,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Pack"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "WA-GUEST-OS-4.45_201708-01"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "metadata": [
+ {
+ "name": "metadata-1",
+ "value": "value-1"
+ },
+ {
+ "name": "metadata-2",
+ "value": "value-2"
+ }
+ ],
+ "startTask": {
+ "commandLine": "cmd /c SET",
+ "resourceFiles": [
+ {
+ "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file",
+ "filePath": "c:\\temp\\gohere",
+ "fileMode": "777"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "MYSET",
+ "value": "1234"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "Pool",
+ "elevationLevel": "Admin"
+ }
+ },
+ "maxTaskRetryCount": 6,
+ "waitForSuccess": true
+ },
+ "userAccounts": [
+ {
+ "name": "username1",
+ "elevationLevel": "Admin",
+ "linuxUserConfiguration": {
+ "uid": 1234,
+ "gid": 4567
+ }
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234",
+ "version": "asdf"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/SHA1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "RemoteUser"
+ ]
+ }
+ ],
+ "applicationLicenses": [
+ "app-license0",
+ "app-license1"
+ ],
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json
new file mode 100644
index 000000000000..67cebc4b7d31
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 3
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT15M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-28T10:22:55.9407275Z",
+ "targetDedicatedNodes": 3,
+ "nodeDeallocationOption": "Requeue",
+ "resizeTimeout": "PT15M"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json
new file mode 100644
index 000000000000..38a823508f17
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "14.04.5-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 14.04"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "14.04.5-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 14.04"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_VirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_VirtualMachineConfiguration.json
new file mode 100644
index 000000000000..1f87a33b867d
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolCreate_VirtualMachineConfiguration.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "parameters": {
+ "properties": {
+ "vmSize": "STANDARD_D4",
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter-SmallDisk",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.windows amd64",
+ "windowsConfiguration": {
+ "enableAutomaticUpdates": false
+ },
+ "licenseType": "Windows_Server",
+ "dataDisks": [
+ {
+ "lun": 0,
+ "caching": "ReadWrite",
+ "diskSizeGB": 30,
+ "storageAccountType": "Premium_LRS"
+ },
+ {
+ "lun": 1,
+ "caching": "None",
+ "diskSizeGB": 200,
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter-SmallDisk",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.windows amd64",
+ "windowsConfiguration": {
+ "enableAutomaticUpdates": false
+ },
+ "licenseType": "Windows_Server",
+ "dataDisks": [
+ {
+ "lun": 0,
+ "caching": "ReadWrite",
+ "diskSizeGB": 30,
+ "storageAccountType": "Premium_LRS"
+ },
+ {
+ "lun": 1,
+ "caching": "None",
+ "diskSizeGB": 200,
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ }
+ },
+ "networkConfiguration": {
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=1",
+ "evaluationInterval": "PT5M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolDelete.json
new file mode 100644
index 000000000000..f5543c64c4c9
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": { },
+ "204": { },
+ "202": {
+ "headers": {
+ "Retry-After": "15",
+ "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/poolOperationResults/delete-testpool-8D4EDFF164A11C9?api-version=2018-12-01"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolDisableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolDisableAutoScale.json
new file mode 100644
index 000000000000..6d9a91938ae2
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolDisableAutoScale.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "14.04.5-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 14.04"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT15M"
+ }
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolGet.json
new file mode 100644
index 000000000000..e672b1ac68e7
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolGet.json
@@ -0,0 +1,148 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Enabled",
+ "maxTasksPerNode": 13,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Pack"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "WA-GUEST-OS-4.45_201708-01"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "resizeTimeout": "PT8M"
+ }
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "metadata": [
+ {
+ "name": "metadata-1",
+ "value": "value-1"
+ },
+ {
+ "name": "metadata-2",
+ "value": "value-2"
+ }
+ ],
+ "startTask": {
+ "commandLine": "cmd /c SET",
+ "resourceFiles": [
+ {
+ "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file",
+ "filePath": "c:\\temp\\gohere",
+ "fileMode": "777"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "MYSET",
+ "value": "1234"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "Pool",
+ "elevationLevel": "Admin"
+ }
+ },
+ "maxTaskRetryCount": 6,
+ "waitForSuccess": true
+ },
+ "userAccounts": [
+ {
+ "name": "username1",
+ "elevationLevel": "Admin",
+ "linuxUserConfiguration": {
+ "uid": 1234,
+ "gid": 4567
+ }
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234",
+ "version": "asdf"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/SHA1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "RemoteUser"
+ ]
+ }
+ ],
+ "applicationLicenses": [
+ "app-license0",
+ "app-license1"
+ ],
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-28T10:22:55.9407275Z",
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "nodeDeallocationOption": "TaskCompletion",
+ "resizeTimeout": "PT8M"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolList.json
new file mode 100644
index 000000000000..bc0871c46074
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolList.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Enabled",
+ "maxTasksPerNode": 13,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Pack"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "4",
+ "osVersion": "WA-GUEST-OS-4.45_201708-01"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "resizeTimeout": "PT8M"
+ }
+ },
+ "networkConfiguration": {
+ "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123",
+ "endpointConfiguration": {
+ "inboundNatPools": [
+ {
+ "name": "testnat",
+ "protocol": "TCP",
+ "backendPort": 12001,
+ "frontendPortRangeStart": 15000,
+ "frontendPortRangeEnd": 15100,
+ "networkSecurityGroupRules": [
+ {
+ "access": "Allow",
+ "sourceAddressPrefix": "192.100.12.45",
+ "priority": 150
+ },
+ {
+ "access": "Deny",
+ "sourceAddressPrefix": "*",
+ "priority": 3500
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "metadata": [
+ {
+ "name": "metadata-1",
+ "value": "value-1"
+ },
+ {
+ "name": "metadata-2",
+ "value": "value-2"
+ }
+ ],
+ "startTask": {
+ "commandLine": "cmd /c SET",
+ "resourceFiles": [
+ {
+ "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file",
+ "filePath": "c:\\temp\\gohere",
+ "fileMode": "777"
+ }
+ ],
+ "environmentSettings": [
+ {
+ "name": "MYSET",
+ "value": "1234"
+ }
+ ],
+ "userIdentity": {
+ "autoUser": {
+ "scope": "Pool",
+ "elevationLevel": "Admin"
+ }
+ },
+ "maxTaskRetryCount": 6,
+ "waitForSuccess": true
+ },
+ "userAccounts": [
+ {
+ "name": "username1",
+ "elevationLevel": "Admin",
+ "linuxUserConfiguration": {
+ "uid": 1234,
+ "gid": 4567
+ }
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234",
+ "version": "asdf"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/SHA1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "RemoteUser"
+ ]
+ }
+ ],
+ "applicationLicenses": [
+ "app-license0",
+ "app-license1"
+ ],
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-28T10:22:55.9407275Z",
+ "targetDedicatedNodes": 6,
+ "targetLowPriorityNodes": 28,
+ "nodeDeallocationOption": "TaskCompletion",
+ "resizeTimeout": "PT8M",
+ "errors": [
+ {
+ "code": "AllocationTimedout",
+ "message": "Desired number of dedicated nodes could not be allocated as the resize timeout was reached"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolListWithFilter.json
new file mode 100644
index 000000000000..c378f2bf4f76
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolListWithFilter.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "$filter": "startswith(name, 'po') or (properties/allocationState eq 'Steady' and properties/provisioningStateTransitionTime lt datetime'2017-02-02')",
+ "$select": "properties/allocationState,properties/provisioningStateTransitionTime,properties/currentDedicatedNodes,properties/currentLowPriorityNodes",
+ "maxResults": "50"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 2
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/pooltest",
+ "name": "pooltest",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "provisioningStateTransitionTime": "2017-08-26T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "currentDedicatedNodes": 4,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolStopResize.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolStopResize.json
new file mode 100644
index 000000000000..e61b3f7db192
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolStopResize.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-28T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Steady",
+ "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "virtualMachineConfiguration": {
+ "imageReference": {
+ "publisher": "Canonical",
+ "offer": "UbuntuServer",
+ "sku": "14.04.5-LTS",
+ "version": "latest"
+ },
+ "nodeAgentSkuId": "batch.node.ubuntu 14.04"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 3,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT15M"
+ }
+ },
+ "resizeOperationStatus": {
+ "startTime": "2017-08-28T10:22:55.9407275Z",
+ "targetDedicatedNodes": 1,
+ "nodeDeallocationOption": "Requeue",
+ "resizeTimeout": "PT10M"
+ },
+ "currentDedicatedNodes": 0,
+ "currentLowPriorityNodes": 0
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_EnableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_EnableAutoScale.json
new file mode 100644
index 000000000000..aa8194d9e9a1
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_EnableAutoScale.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "parameters": {
+ "properties": {
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicatedNodes=34"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-29T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicated=34",
+ "evaluationInterval": "PT15M"
+ }
+ },
+ "autoScaleRun": {
+ "evaluationTime": "2017-08-29T10:22:55.9407275Z",
+ "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue"
+ },
+ "currentDedicatedNodes": 12,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-29T10:22:55.9407275Z",
+ "targetDedicatedNodes": 34,
+ "nodeDeallocationOption": "Requeue",
+ "resizeTimeout": "PT15M"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_OtherProperties.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_OtherProperties.json
new file mode 100644
index 000000000000..952e920f3a3b
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_OtherProperties.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "parameters": {
+ "properties": {
+ "metadata": [
+ {
+ "name": "key1",
+ "value": "value1"
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678",
+ "version": "1.0"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/SHA1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-29T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 1,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ },
+ "autoScaleRun": {
+ "evaluationTime": "2017-08-29T10:22:55.9407275Z",
+ "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue"
+ },
+ "currentDedicatedNodes": 12,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-29T10:22:55.9407275Z",
+ "targetDedicatedNodes": 8,
+ "nodeDeallocationOption": "TaskCompletion",
+ "resizeTimeout": "PT8M"
+ },
+ "metadata": [
+ {
+ "name": "key1",
+ "value": "value1"
+ }
+ ],
+ "applicationPackages": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678",
+ "version": "1.0"
+ }
+ ],
+ "certificates": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/SHA1-1234567",
+ "storeLocation": "LocalMachine",
+ "storeName": "MY",
+ "visibility": [
+ "StartTask",
+ "Task",
+ "RemoteUser"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_RemoveStartTask.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_RemoveStartTask.json
new file mode 100644
index 000000000000..4ecbed138f9a
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_RemoveStartTask.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "parameters": {
+ "properties": {
+ "startTask": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-29T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "autoScale": {
+ "formula": "$TargetDedicated=34",
+ "evaluationInterval": "PT15M"
+ }
+ },
+ "autoScaleRun": {
+ "evaluationTime": "2017-08-29T10:22:55.9407275Z",
+ "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue"
+ },
+ "currentDedicatedNodes": 12,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-29T10:22:55.9407275Z",
+ "targetDedicatedNodes": 34,
+ "nodeDeallocationOption": "Requeue",
+ "resizeTimeout": "PT15M"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_ResizePool.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_ResizePool.json
new file mode 100644
index 000000000000..34ca20e96fda
--- /dev/null
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2018-12-01/examples/PoolUpdate_ResizePool.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "default-azurebatch-japaneast",
+ "accountName": "sampleacct",
+ "poolName": "testpool",
+ "api-version": "2018-12-01",
+ "parameters": {
+ "properties": {
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 5,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "ETag": "W/\"0x8D4EDFEBFADF4AB\""
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool",
+ "name": "testpool",
+ "type": "Microsoft.Batch/batchAccounts/pools",
+ "etag": "W/\"0x8D4EDFEBFADF4AB\"",
+ "properties": {
+ "lastModified": "2017-08-29T10:22:55.9407275Z",
+ "creationTime": "2017-08-28T10:22:55.9407275Z",
+ "provisioningState": "Succeeded",
+ "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z",
+ "allocationState": "Resizing",
+ "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z",
+ "vmSize": "STANDARD_D4",
+ "interNodeCommunication": "Disabled",
+ "maxTasksPerNode": 1,
+ "taskSchedulingPolicy": {
+ "nodeFillType": "Spread"
+ },
+ "deploymentConfiguration": {
+ "cloudServiceConfiguration": {
+ "osFamily": "5",
+ "osVersion": "*"
+ }
+ },
+ "scaleSettings": {
+ "fixedScale": {
+ "targetDedicatedNodes": 1,
+ "targetLowPriorityNodes": 0,
+ "resizeTimeout": "PT8M",
+ "nodeDeallocationOption": "TaskCompletion"
+ }
+ },
+ "autoScaleRun": {
+ "evaluationTime": "2017-08-29T10:22:55.9407275Z",
+ "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue"
+ },
+ "currentDedicatedNodes": 12,
+ "currentLowPriorityNodes": 0,
+ "resizeOperationStatus": {
+ "startTime": "2017-08-29T10:22:55.9407275Z",
+ "targetDedicatedNodes": 8,
+ "nodeDeallocationOption": "TaskCompletion",
+ "resizeTimeout": "PT8M"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/batch/resource-manager/readme.go.md b/specification/batch/resource-manager/readme.go.md
index 2e388a22fd8e..cae71e91ed56 100644
--- a/specification/batch/resource-manager/readme.go.md
+++ b/specification/batch/resource-manager/readme.go.md
@@ -14,12 +14,22 @@ go:
### Go multi-api
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2018-12
- tag: package-2017-09
- tag: package-2017-05
- tag: package-2017-01
- tag: package-2015-12
```
+### Tag: package-2018-12 and go
+
+These settings apply only when `--tag=package-2018-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-12' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-12-01/$(namespace)
+```
+
### Tag: package-2017-09 and go
These settings apply only when `--tag=package-2017-09 --go` is specified on the command line.
diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md
index 4a68131db865..539202a88e0b 100644
--- a/specification/batch/resource-manager/readme.md
+++ b/specification/batch/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Batch.
-
-
---
+
## Getting Started
+
To build the SDK for Batch, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,18 +15,27 @@ To build the SDK for Batch, simply [Install AutoRest](https://aka.ms/autorest/in
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the Batch API.
``` yaml
openapi-type: arm
-tag: package-2017-09
+tag: package-2018-12
+```
+
+### Tag: package-2018-12
+
+These settings apply only when `--tag=package-2018-12` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-12'
+input-file:
+ - Microsoft.Batch/stable/2018-12-01/BatchManagement.json
```
### Tag: package-2017-09
@@ -41,38 +50,40 @@ input-file:
## Suppression
Note that this setting should be removed once [this GitHub bug](https://github.com/Azure/azure-openapi-validator/issues/68) is fixed.
+
``` yaml
directive:
- suppress: R2063
from: BatchManagement.json
reason: Bug in linter
-
- from:
- - 2017-09-01/BatchManagement.json
- - 2017-05-01/BatchManagement.json
- - 2017-01-01/BatchManagement.json
- - 2015-12-01/BatchManagement.json
+ - 2017-09-01/BatchManagement.json
+ - 2017-05-01/BatchManagement.json
+ - 2017-01-01/BatchManagement.json
+ - 2015-12-01/BatchManagement.json
where:
- - $.definitions.Application
- - $.definitions.ApplicationPackage
+ - $.definitions.Application
+ - $.definitions.ApplicationPackage
suppress:
- - R2020
+ - R2020
reason: Proxy resource written prior to ARM guidelines update and would require breaking changes to fix. The shape of the entity will be corrected in future next API versions.
-
- from:
- - 2017-09-01/BatchManagement.json
- - 2017-05-01/BatchManagement.json
- - 2017-01-01/BatchManagement.json
- - 2015-12-01/BatchManagement.json
+ - 2017-09-01/BatchManagement.json
+ - 2017-05-01/BatchManagement.json
+ - 2017-01-01/BatchManagement.json
+ - 2015-12-01/BatchManagement.json
where:
- - $.definitions.Application.properties
- - $.definitions.ApplicationPackage.properties
+ - $.definitions.Application.properties
+ - $.definitions.ApplicationPackage.properties
suppress:
- - R3006
+ - R3006
reason: Proxy resource written prior to ARM guidelines update and would require breaking changes to fix. The shape of the entity will be corrected in future API versions.
+ - suppress: OBJECT_MISSING_REQUIRED_PROPERTY
+ from: BatchManagement.json
+ where: $.definitions.UserAccount
+ reason: This field contains a secret (password) and is not returned on a get (but is required on a PUT/PATCH). Previous discussions with the modelling team had said that this was the correct way to model this type of field.
```
-
### Tag: package-2017-05
These settings apply only when `--tag=package-2017-05` is specified on the command line.
@@ -82,7 +93,6 @@ input-file:
- Microsoft.Batch/stable/2017-05-01/BatchManagement.json
```
-
### Tag: package-2017-01
These settings apply only when `--tag=package-2017-01` is specified on the command line.
@@ -101,10 +111,9 @@ input-file:
- Microsoft.Batch/stable/2015-12-01/BatchManagement.json
```
-
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -123,7 +132,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_batch']
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -160,11 +168,13 @@ python:
package-name: azure-mgmt-batch
clear-output-folder: true
```
+
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/azure-mgmt-batch/azure/mgmt/batch
```
+
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billing.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billing.json
index 74de6d615fa9..d63470a7dc54 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billing.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billing.json
@@ -199,8 +199,8 @@
}
}
}
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices": {
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices": {
"get": {
"tags": [
"Invoices"
@@ -403,7 +403,7 @@
}
}
},
- "EnrollmentAccountListResult": {
+ "EnrollmentAccountListResult": {
"description": "Result of listing enrollment accounts.",
"properties": {
"value": {
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json
new file mode 100644
index 000000000000..d202e0591ce5
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json
@@ -0,0 +1,322 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "BlueprintClient",
+ "description": "Azure Blueprints Client provides access to blueprint definitions, assignments, and artifacts, and related blueprint operations.",
+ "version": "2018-11-01-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": {
+ "/{scope}/providers/Microsoft.Blueprint/blueprintAssignments/{assignmentName}/assignmentOperations": {
+ "get": {
+ "tags": [
+ "AssignmentOperations"
+ ],
+ "operationId": "AssignmentOperations_List",
+ "description": "List operations for given blueprint assignment within a subscription.",
+ "x-ms-examples": {
+ "Assignment": {
+ "$ref": "./examples/BlueprintAssignmentOperation_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/AssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- all blueprint assignment operations retrieved.",
+ "schema": {
+ "$ref": "#/definitions/AssignmentOperationList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Blueprint/blueprintAssignments/{assignmentName}/assignmentOperations/{assignmentOperationName}": {
+ "get": {
+ "tags": [
+ "AssignmentOperations"
+ ],
+ "operationId": "AssignmentOperations_Get",
+ "description": "Get a blueprint assignment operation.",
+ "x-ms-examples": {
+ "Assignment": {
+ "$ref": "./examples/BlueprintAssignmentOperation_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/AssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AssignmentOperationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- blueprint assignment operation retrieved.",
+ "schema": {
+ "$ref": "#/definitions/AssignmentOperation"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AssignmentOperation": {
+ "type": "object",
+ "description": "Represents underlying deployment detail for each update to the blueprint assignment.",
+ "allOf": [
+ { "$ref": "#/definitions/AzureResourceBase" }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Properties for AssignmentOperation.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AssignmentOperationProperties"
+ }
+ }
+ },
+ "AssignmentOperationList":{
+ "type": "object",
+ "description": "List of AssignmentOperation.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of AssignmentOperation.",
+ "items": {
+ "$ref": "#/definitions/AssignmentOperation"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+
+ },
+ "AssignmentOperationProperties": {
+ "type": "object",
+ "description": "Properties of AssignmentOperation.",
+ "properties": {
+ "blueprintVersion": {
+ "type": "string",
+ "description": "The published version of the blueprint definition used for the blueprint assignment operation."
+ },
+ "assignmentState": {
+ "type": "string",
+ "description": "State of this blueprint assignment operation."
+ },
+ "timeCreated": {
+ "type": "string",
+ "description": "Create time of this blueprint assignment operation."
+ },
+ "timeStarted": {
+ "type": "string",
+ "description": "Start time of the underlying deployment."
+ },
+ "timeFinished": {
+ "type": "string",
+ "description": "Finish time of the overall underlying deployments."
+ },
+ "deployments": {
+ "type": "array",
+ "description": "List of jobs in this blueprint assignment operation.",
+ "items": {
+ "$ref": "#/definitions/AssignmentDeploymentJob"
+ }
+ }
+ }
+ },
+ "AssignmentDeploymentJob": {
+ "type": "object",
+ "description": "Represents individual job in given blueprint assignment operation.",
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Kind of job."
+ },
+ "action": {
+ "type": "string",
+ "description": "Name of the action performed in this job."
+ },
+ "jobId": {
+ "type": "string",
+ "description": "Id of this job."
+ },
+ "jobState": {
+ "type": "string",
+ "description": "State of this job."
+ },
+ "result": {
+ "description": "Deployment job result.",
+ "$ref": "#/definitions/AssignmentDeploymentJobResult"
+ },
+ "history": {
+ "type": "array",
+ "description": "Result of this deployment job for each retry.",
+ "items": {
+ "$ref": "#/definitions/AssignmentDeploymentJobResult"
+ }
+ },
+ "requestUri": {
+ "type": "string",
+ "description": "Reference to deployment job resource id."
+ }
+ }
+ },
+ "AssignmentDeploymentJobResult": {
+ "type": "object",
+ "description": "Result of each individual deployment in a blueprint assignment.",
+ "properties": {
+ "error": {
+ "description": "Contains error details if deployment job failed.",
+ "$ref": "#/definitions/AzureResourceManagerError"
+ },
+ "resources": {
+ "type": "array",
+ "description": "Resources created as result of the deployment job.",
+ "items": {
+ "$ref": "#/definitions/AssignmentJobCreatedResource"
+ }
+ }
+ }
+ },
+ "AssignmentJobCreatedResource": {
+ "type": "object",
+ "description": "Azure resource created from deployment job.",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "description": "Additional properties in a dictionary.",
+ "additionalProperties": {
+ "type": "string",
+ "description": "property value"
+ }
+ }
+ },
+ "allOf": [
+ { "$ref": "#/definitions/AzureResourceBase" }
+ ]
+ },
+
+ "AzureResourceBase": {
+ "description": "Common properties for all Azure resources.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "String Id used to locate any resource on Azure."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of this resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of this resource."
+ }
+ }
+ },
+ "AzureResourceManagerError": {
+ "type": "object",
+ "description": "Error code and message",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ }
+
+ }
+ }
+ },
+ "parameters": {
+ "ScopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the resource. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}').",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "AssignmentNameParameter": {
+ "name": "assignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Name of the blueprint assignment."
+ },
+ "AssignmentOperationNameParameter": {
+ "name": "assignmentOperationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Name of the blueprint assignment operation."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "description": "Client API Version."
+ }
+ }
+}
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
new file mode 100644
index 000000000000..9579c91c9d25
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
@@ -0,0 +1,557 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "BlueprintClient",
+ "description": "Azure Blueprints Client provides access to blueprint definitions, assignments, and artifacts, and related blueprint operations.",
+ "version": "2018-11-01-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": {
+ "/{scope}/providers/Microsoft.Blueprint/blueprintAssignments/{assignmentName}": {
+ "put": {
+ "tags": [
+ "Assignment"
+ ],
+ "operationId": "Assignments_CreateOrUpdate",
+ "description": "Create or update a blueprint assignment.",
+ "x-ms-examples": {
+ "Assignment": {
+ "$ref": "./examples/BlueprintAssignment_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/AssignmentNameParameter"
+ },
+ {
+ "name": "assignment",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Assignment"
+ },
+ "description": "Blueprint assignment object to save."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created -- blueprint assignment saved.",
+ "schema": {
+ "$ref": "#/definitions/Assignment"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Assignment"
+ ],
+ "operationId": "Assignments_Get",
+ "description": "Get a blueprint assignment.",
+ "x-ms-examples": {
+ "Assignment": {
+ "$ref": "./examples/BlueprintAssignment_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/AssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- blueprint assignment retrieved.",
+ "schema": {
+ "$ref": "#/definitions/Assignment"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Assignment"
+ ],
+ "operationId": "Assignments_Delete",
+ "description": "Delete a blueprint assignment.",
+ "x-ms-examples": {
+ "Assignment_Delete": {
+ "$ref": "./examples/BlueprintAssignment_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/AssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "OK -- blueprint assignment deleted.",
+ "schema": {
+ "$ref": "#/definitions/Assignment"
+ }
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Blueprint/blueprintAssignments": {
+ "get": {
+ "tags": [
+ "Assignment"
+ ],
+ "operationId": "Assignments_List",
+ "description": "List blueprint assignments within a subscription.",
+ "x-ms-examples": {
+ "Assignment": {
+ "$ref": "./examples/BlueprintAssignment_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- all blueprint assignments retrieved.",
+ "schema": {
+ "$ref": "#/definitions/AssignmentList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Assignment": {
+ "type": "object",
+ "description": "Represents a blueprint assignment.",
+ "properties": {
+ "identity": {
+ "description": "Managed identity for this blueprint assignment.",
+ "$ref": "#/definitions/ManagedServiceIdentity"
+ },
+ "properties": {
+ "description": "Properties for blueprint assignment object.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AssignmentProperties"
+ }
+ },
+ "required": [
+ "identity",
+ "properties"
+ ],
+ "allOf": [
+ { "$ref": "#/definitions/TrackedResource" }
+ ]
+ },
+ "AssignmentList": {
+ "type": "object",
+ "description": "List of blueprint assignments",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of blueprint assignments.",
+ "items": {
+ "$ref": "#/definitions/Assignment"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "UserAssignedIdentity": {
+ "type": "object",
+ "description": "User-assigned managed identity.",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "Azure Active Directory principal ID associated with this Identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client App Id associated with this identity."
+ }
+ }
+ },
+ "ManagedServiceIdentity": {
+ "type": "object",
+ "description": "Managed identity generic object.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Type of the managed identity.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedServiceIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "type": "string",
+ "description": "Azure Active Directory principal ID associated with this Identity."
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "ID of the Azure Active Directory."
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "description": "The list of user-assigned managed identities associated with the resource. Key is the Azure resource Id of the managed identity.",
+ "additionalProperties": {
+ "description": "User-assigned managed identity.",
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "AssignmentStatus": {
+ "description": "The status of a blueprint assignment. This field is readonly.",
+ "type": "object",
+ "properties": {
+ },
+ "allOf": [
+ { "$ref": "#/definitions/BlueprintResourceStatusBase" }
+ ]
+ },
+ "AssignmentLockSettings": {
+ "description": "Defines how resources deployed by a blueprint assignment are locked.",
+ "type": "object",
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Lock mode.",
+ "enum": [
+ "None",
+ "AllResourcesReadOnly",
+ "AllResourcesDoNotDelete"
+ ],
+ "x-ms-enum": {
+ "name": "AssignmentLockMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AssignmentProperties": {
+ "type": "object",
+ "description": "Detailed properties for a blueprint assignment.",
+ "properties": {
+ "blueprintId": {
+ "type": "string",
+ "description": "ID of the published version of a blueprint definition."
+ },
+ "parameters": {
+ "$ref": "#/definitions/ParameterValueCollection",
+ "description": "Blueprint assignment parameter values."
+ },
+ "resourceGroups": {
+ "$ref": "#/definitions/ResourceGroupValueCollection",
+ "description": "Names and locations of resource group placeholders."
+ },
+ "status": {
+ "description": "Status of blueprint assignment. This field is readonly.",
+ "readOnly": true,
+ "$ref": "#/definitions/AssignmentStatus"
+ },
+ "locks": {
+ "description": "Defines how resources deployed by a blueprint assignment are locked.",
+ "$ref": "#/definitions/AssignmentLockSettings"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "State of the blueprint assignment.",
+ "enum": [
+ "creating",
+ "validating",
+ "waiting",
+ "deploying",
+ "cancelling",
+ "locking",
+ "succeeded",
+ "failed",
+ "canceled",
+ "deleting"
+ ],
+ "x-ms-enum": {
+ "name": "AssignmentProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BlueprintResourcePropertiesBase"
+ }
+ ],
+ "required": [
+ "parameters",
+ "resourceGroups"
+ ]
+ },
+ "ParameterValueCollection": {
+ "description": "A dictionary for parameters and their corresponding values.",
+ "type": "object",
+ "properties": {},
+ "additionalProperties": {
+ "description": "Key/Value pair of parameter fulfillment.",
+ "$ref": "#/definitions/ParameterValueBase"
+ }
+ },
+ "ParameterValueBase": {
+ "description": "Base class for ParameterValue.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Optional property. Establishes ParameterValueBase as a BaseClass.",
+ "type": "string"
+ }
+ }
+ },
+ "ParameterValue": {
+ "description": "Value for the specified parameter.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Actual value."
+ }
+ },
+ "required": [ "value" ],
+ "allOf": [
+ { "$ref": "#/definitions/ParameterValueBase" }
+ ]
+ },
+ "SecretReferenceParameterValue": {
+ "description": "The reference to a secret, if the parameter should be protected.",
+ "type": "object",
+ "properties": {
+ "reference": {
+ "description": "Specifies the reference.",
+ "$ref": "#/definitions/SecretValueReference"
+ }
+ },
+ "required": [ "reference" ],
+ "allOf": [
+ { "$ref": "#/definitions/ParameterValueBase" }
+ ]
+ },
+ "SecretValueReference": {
+ "description": "Reference to a Key Vault secret.",
+ "type": "object",
+ "properties": {
+ "keyVault": {
+ "description": "Specifies the reference to a given Azure Key Vault.",
+ "$ref": "#/definitions/keyVaultReference"
+ },
+ "secretName": {
+ "description": "Name of the secret.",
+ "type": "string"
+ },
+ "secretVersion": {
+ "description": "The version of the secret to use. If left blank, the latest version of the secret is used.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "keyVault",
+ "secretName"
+ ]
+ },
+ "keyVaultReference": {
+ "description": "Specifies the link to a Key Vault.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Azure resource ID of the Key Vault.",
+ "type": "string"
+ }
+ },
+ "required": [ "id" ]
+ },
+ "ResourceGroupValueCollection": {
+ "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.",
+ "type": "object",
+ "properties": {},
+ "additionalProperties": {
+ "$ref": "#/definitions/ResourceGroupValue"
+ }
+ },
+ "ResourceGroupValue": {
+ "description": "Represents an Azure resource group.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the resource group.",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource group."
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "Common properties for all Azure tracked resources.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location of this blueprint assignment.",
+ "x-ms-mutability": [ "read", "create" ]
+ }
+ },
+ "required": [ "location" ],
+ "allOf": [
+ { "$ref": "#/definitions/AzureResourceBase" }
+ ]
+ },
+ "AzureResourceBase": {
+ "description": "Common properties for all Azure resources.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "String Id used to locate any resource on Azure."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of this resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of this resource."
+ }
+ }
+ },
+ "BlueprintResourcePropertiesBase": {
+ "description": "Shared properties between all blueprint resources.",
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "One-liner string explain this resource.",
+ "maxLength": 256
+ },
+ "description": {
+ "type": "string",
+ "description": "Multi-line explain this resource.",
+ "maxLength": 500
+ }
+ }
+ },
+ "BlueprintResourceStatusBase": {
+ "description": "Shared status properties between all blueprint resources.",
+ "type": "object",
+ "properties": {
+ "timeCreated": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Creation time of this blueprint definition."
+ },
+ "lastModified": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Last modified time of this blueprint definition."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ScopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the resource. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}').",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "AssignmentNameParameter": {
+ "name": "assignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Name of the blueprint assignment."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "description": "Client API Version."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
new file mode 100644
index 000000000000..99f4bb5b87c3
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
@@ -0,0 +1,1382 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "BlueprintClient",
+ "description": "Azure Blueprints Client provides access to blueprint definitions, assignments, and artifacts, and related blueprint operations.",
+ "version": "2018-11-01-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": {
+ "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}": {
+ "put": {
+ "tags": [
+ "Blueprint"
+ ],
+ "operationId": "Blueprints_CreateOrUpdate",
+ "description": "Create or update a blueprint definition.",
+ "x-ms-examples": {
+ "SubscriptionBlueprint": {
+ "$ref": "./examples/subscriptionBPDef/Blueprint_Create.json"
+ },
+ "ManagementGroupBlueprint": {
+ "$ref": "./examples/managementGroupBPDef/Blueprint_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ },
+ {
+ "name": "blueprint",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Blueprint"
+ },
+ "description": "Blueprint definition."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created -- blueprint definition saved.",
+ "schema": {
+ "$ref": "#/definitions/Blueprint"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Blueprint"
+ ],
+ "operationId": "Blueprints_Get",
+ "description": "Get a blueprint definition.",
+ "x-ms-examples": {
+ "SubscriptionBlueprint": {
+ "$ref": "./examples/subscriptionBPDef/Blueprint_Get.json"
+ },
+ "ManagementGroupBlueprint": {
+ "$ref": "./examples/managementGroupBPDef/Blueprint_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- blueprint definition retrieved.",
+ "schema": {
+ "$ref": "#/definitions/Blueprint"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Blueprint"
+ ],
+ "operationId": "Blueprints_Delete",
+ "description": "Delete a blueprint definition.",
+ "x-ms-examples": {
+ "SubscriptionBlueprint": {
+ "$ref": "./examples/subscriptionBPDef/Blueprint_Delete.json"
+ },
+ "ManagementGroupBlueprint": {
+ "$ref": "./examples/managementGroupBPDef/Blueprint_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- blueprint definition deleted.",
+ "schema": {
+ "$ref": "#/definitions/Blueprint"
+ }
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Blueprint/blueprints": {
+ "get": {
+ "tags": [
+ "Blueprint"
+ ],
+ "operationId": "Blueprints_List",
+ "description": "List blueprint definitions.",
+ "x-ms-examples": {
+ "SubscriptionBlueprint": {
+ "$ref": "./examples/subscriptionBPDef/Blueprint_List.json"
+ },
+ "ManagementGroupBlueprint": {
+ "$ref": "./examples/managementGroupBPDef/Blueprint_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- retrieved list of blueprint definitions.",
+ "schema": {
+ "$ref": "#/definitions/BlueprintList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts/{artifactName}": {
+ "put": {
+ "tags": [
+ "Artifact"
+ ],
+ "operationId": "Artifacts_CreateOrUpdate",
+ "description": "Create or update blueprint artifact.",
+ "x-ms-examples": {
+ "Sub-ARMTemplateArtifact": {
+ "$ref": "./examples/subscriptionBPDef/ARMTemplateArtifact_Create.json"
+ },
+ "Sub-PolicyAssignmentArtifact": {
+ "$ref": "./examples/subscriptionBPDef/PolicyAssignmentArtifact_Create.json"
+ },
+ "Sub-RoleAssignmentArtifact": {
+ "$ref": "./examples/subscriptionBPDef/RoleAssignmentArtifact_Create.json"
+ },
+ "MG-ARMTemplateArtifact": {
+ "$ref": "./examples/managementGroupBPDef/ARMTemplateArtifact_Create.json"
+ },
+ "MG-PolicyAssignmentArtifact": {
+ "$ref": "./examples/managementGroupBPDef/PolicyAssignmentArtifact_Create.json"
+ },
+ "MG-RoleAssignmentArtifact": {
+ "$ref": "./examples/managementGroupBPDef/RoleAssignmentArtifact_Create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArtifactNameParameter"
+ },
+ {
+ "name": "artifact",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ },
+ "description": "Blueprint artifact to create or update."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created -- blueprint artifact created/updated.",
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "operationId": "Artifacts_Get",
+ "description": "Get a blueprint artifact.",
+ "x-ms-examples": {
+ "Sub-ARMTemplateArtifact": {
+ "$ref": "./examples/subscriptionBPDef/ARMTemplateArtifact_Get.json"
+ },
+ "Sub-PolicyAssignmentArtifact": {
+ "$ref": "./examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json"
+ },
+ "Sub-RoleAssignmentArtifact": {
+ "$ref": "./examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json"
+ },
+ "MG-ARMTemplateArtifact": {
+ "$ref": "./examples/managementGroupBPDef/ARMTemplateArtifact_Get.json"
+ },
+ "MG-PolicyAssignmentArtifact": {
+ "$ref": "./examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json"
+ },
+ "MG-RoleAssignmentArtifact": {
+ "$ref": "./examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArtifactNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- blueprint artifact retrieved.",
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Artifact"
+ ],
+ "operationId": "Artifacts_Delete",
+ "description": "Delete a blueprint artifact.",
+ "x-ms-examples": {
+ "Sub-ARMTemplateArtifact": {
+ "$ref": "./examples/subscriptionBPDef/ARMTemplateArtifact_Delete.json"
+ },
+ "Sub-PolicyAssignmentArtifact": {
+ "$ref": "./examples/subscriptionBPDef/PolicyAssignmentArtifact_Delete.json"
+ },
+ "Sub-RoleAssignmentArtifact": {
+ "$ref": "./examples/subscriptionBPDef/RoleAssignmentArtifact_Delete.json"
+ },
+ "MG-ARMTemplateArtifact": {
+ "$ref": "./examples/managementGroupBPDef/ARMTemplateArtifact_Delete.json"
+ },
+ "MG-PolicyAssignmentArtifact": {
+ "$ref": "./examples/managementGroupBPDef/PolicyAssignmentArtifact_Delete.json"
+ },
+ "MG-RoleAssignmentArtifact": {
+ "$ref": "./examples/managementGroupBPDef/RoleAssignmentArtifact_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ArtifactNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- blueprint artifact deleted.",
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/artifacts": {
+ "get": {
+ "tags": [
+ "Artifact"
+ ],
+ "operationId": "Artifacts_List",
+ "description": "List artifacts for a given blueprint definition.",
+ "x-ms-examples": {
+ "Sub-ArtifactList": {
+ "$ref": "./examples/subscriptionBPDef/Artifact_List.json"
+ },
+ "MG-ArtifactList": {
+ "$ref": "./examples/managementGroupBPDef/Artifact_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- blueprint artifacts retrieved.",
+ "schema": {
+ "$ref": "#/definitions/ArtifactList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions/{versionId}": {
+ "put": {
+ "tags": [
+ "PublishedBlueprint"
+ ],
+ "operationId": "PublishedBlueprints_Create",
+ "description": "Publish a new version of the blueprint definition with the latest artifacts. Published blueprint definitions are immutable.",
+ "x-ms-examples": {
+ "PublishedSubscriptionBlueprint_Publish": {
+ "$ref": "./examples/subscriptionBPDef/SealedBlueprint_Publish.json"
+ },
+ "PublishedManagementGroupBlueprint_Publish": {
+ "$ref": "./examples/managementGroupBPDef/SealedBlueprint_Publish.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created -- blueprint definition published.",
+ "schema": {
+ "$ref": "#/definitions/PublishedBlueprint"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PublishedBlueprint"
+ ],
+ "operationId": "PublishedBlueprints_Get",
+ "description": "Get a published version of a blueprint definition.",
+ "x-ms-examples": {
+ "PublishedSubscriptionBlueprint": {
+ "$ref": "./examples/subscriptionBPDef/SealedBlueprint_Get.json"
+ },
+ "PublishedManagementGroupBlueprint": {
+ "$ref": "./examples/managementGroupBPDef/SealedBlueprint_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- published blueprint definition retrieved.",
+ "schema": {
+ "$ref": "#/definitions/PublishedBlueprint"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PublishedBlueprint"
+ ],
+ "operationId": "PublishedBlueprints_Delete",
+ "description": "Delete a published version of a blueprint definition.",
+ "x-ms-examples": {
+ "PublishedSubscriptionBlueprint": {
+ "$ref": "./examples/subscriptionBPDef/SealedBlueprint_Delete.json"
+ },
+ "PublishedManagementGroupBlueprint": {
+ "$ref": "./examples/managementGroupBPDef/SealedBlueprint_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- published version of blueprint definition deleted.",
+ "schema": {
+ "$ref": "#/definitions/PublishedBlueprint"
+ }
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions": {
+ "get": {
+ "tags": [
+ "PublishedBlueprint"
+ ],
+ "operationId": "PublishedBlueprints_List",
+ "description": "List published versions of given blueprint definition.",
+ "x-ms-examples": {
+ "PublishedSubscriptionBlueprint": {
+ "$ref": "./examples/subscriptionBPDef/SealedBlueprint_List.json"
+ },
+ "PublishedManagementGroupBlueprint": {
+ "$ref": "./examples/managementGroupBPDef/SealedBlueprint_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- all published versions of blueprint definition retrieved.",
+ "schema": {
+ "$ref": "#/definitions/PublishedBlueprintList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions/{versionId}/artifacts/{artifactName}": {
+ "get": {
+ "tags": [
+ "PublishedArtifact"
+ ],
+ "operationId": "PublishedArtifacts_Get",
+ "description": "Get an artifact for a published blueprint definition.",
+ "x-ms-examples": {
+ "Sub-ARMTemplateArtifact": {
+ "$ref": "./examples/subscriptionBPDef/ARMTemplateArtifact_Get.json"
+ },
+ "Sub-PolicyAssignmentArtifact": {
+ "$ref": "./examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json"
+ },
+ "Sub-RoleAssignmentArtifact": {
+ "$ref": "./examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json"
+ },
+ "MG-ARMTemplateArtifact": {
+ "$ref": "./examples/managementGroupBPDef/ARMTemplateArtifact_Get.json"
+ },
+ "MG-PolicyAssignmentArtifact": {
+ "$ref": "./examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json"
+ },
+ "MG-RoleAssignmentArtifact": {
+ "$ref": "./examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ArtifactNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- artifact of published blueprint definition retrieved.",
+ "schema": {
+ "$ref": "#/definitions/Artifact"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Blueprint/blueprints/{blueprintName}/versions/{versionId}/artifacts": {
+ "get": {
+ "tags": [
+ "PublishedArtifact"
+ ],
+ "operationId": "PublishedArtifacts_List",
+ "description": "List artifacts for a version of a published blueprint definition.",
+ "x-ms-examples": {
+ "Sub-ArtifactList": {
+ "$ref": "./examples/subscriptionBPDef/SealedArtifact_List.json"
+ },
+ "MG-ArtifactList": {
+ "$ref": "./examples/managementGroupBPDef/SealedArtifact_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeParameter"
+ },
+ {
+ "$ref": "#/parameters/BlueprintNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublishedBlueprintVersionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- artifacts of a version of published blueprint definition retrieved.",
+ "schema": {
+ "$ref": "#/definitions/ArtifactList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Blueprint": {
+ "type": "object",
+ "description": "Represents a Blueprint definition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureResourceBase"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for blueprint definition.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BlueprintProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "Artifact": {
+ "type": "object",
+ "discriminator": "kind",
+ "description": "Represents a blueprint artifact.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureResourceBase"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Specifies the kind of blueprint artifact.",
+ "enum": [
+ "template",
+ "roleAssignment",
+ "policyAssignment"
+ ],
+ "x-ms-enum": {
+ "name": "ArtifactKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "PublishedBlueprint": {
+ "type": "object",
+ "description": "Represents a published blueprint.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureResourceBase"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Detailed properties for published blueprint.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PublishedBlueprintProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "BlueprintList": {
+ "type": "object",
+ "title": "BlueprintList",
+ "description": "List of blueprint definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of blueprint definitions.",
+ "items": {
+ "$ref": "#/definitions/Blueprint"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "PublishedBlueprintList": {
+ "type": "object",
+ "title": "BlueprintList",
+ "description": "List of published blueprint definitions.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of published blueprint definitions.",
+ "items": {
+ "$ref": "#/definitions/PublishedBlueprint"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ArtifactList": {
+ "type": "object",
+ "description": "List of blueprint artifacts.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of blueprint artifacts.",
+ "items": {
+ "$ref": "#/definitions/Artifact"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next page of results."
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "description": "Results of the request to list operations.",
+ "readOnly": true,
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperation"
+ },
+ "description": "List of operations supported by this resource provider."
+ }
+ }
+ },
+ "ResourceProviderOperation": {
+ "description": "Supported operations of this resource provider.",
+ "readOnly": true,
+ "properties": {
+ "name": {
+ "description": "Operation name, in format of {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Resource provider: Microsoft Blueprint.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of this operation.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "SharedBlueprintProperties": {
+ "description": "Shared Schema for both blueprintProperties and publishedBlueprintProperties.",
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "status": {
+ "description": "Status of the blueprint. This field is readonly.",
+ "readOnly": true,
+ "$ref": "#/definitions/BlueprintStatus"
+ },
+ "targetScope": {
+ "type": "string",
+ "description": "The scope where this blueprint definition can be assigned.",
+ "enum": [
+ "subscription",
+ "managementGroup"
+ ],
+ "x-ms-enum": {
+ "name": "BlueprintTargetScope",
+ "modelAsString": true
+ }
+ },
+ "parameters": {
+ "description": "Parameters required by this blueprint definition.",
+ "$ref": "#/definitions/ParameterDefinitionCollection"
+ },
+ "resourceGroups": {
+ "description": "Resource group placeholders defined by this blueprint definition.",
+ "$ref": "#/definitions/ResourceGroupDefinitionCollection"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BlueprintResourcePropertiesBase"
+ }
+ ]
+ },
+ "BlueprintProperties": {
+ "description": "Schema for blueprint definition properties.",
+ "type": "object",
+ "x-ms-external": true,
+ "allOf": [
+ { "$ref": "#/definitions/SharedBlueprintProperties" }
+ ],
+ "properties": {
+ "versions": {
+ "type": "object",
+ "description": "Published versions of this blueprint definition."
+ },
+ "layout": {
+ "type": "object",
+ "description": "Layout view of the blueprint definition for UI reference."
+ }
+ },
+ "required": [
+ "targetScope"
+ ]
+ },
+ "PublishedBlueprintProperties": {
+ "description": "Schema for published blueprint definition properties.",
+ "type": "object",
+ "x-ms-external": true,
+ "allOf": [
+ { "$ref": "#/definitions/SharedBlueprintProperties" }
+ ],
+ "properties": {
+ "blueprintName": {
+ "description": "Name of the published blueprint definition.",
+ "type": "string"
+ },
+ "changeNotes": {
+ "description": "Version-specific change notes.",
+ "type": "string",
+ "maxLength": 500
+ }
+ }
+ },
+ "BlueprintStatus": {
+ "description": "The status of the blueprint. This field is readonly.",
+ "type": "object",
+ "properties": {
+ },
+ "allOf": [
+ { "$ref": "#/definitions/BlueprintResourceStatusBase" }
+ ]
+ },
+ "TemplateArtifactProperties": {
+ "type": "object",
+ "description": "Properties of a Resource Manager template blueprint artifact.",
+ "properties": {
+ "template": {
+ "type": "object",
+ "description": "The Resource Manager template blueprint artifact body."
+ },
+ "resourceGroup": {
+ "type": "string",
+ "description": "If applicable, the name of the resource group placeholder to which the Resource Manager template blueprint artifact will be deployed."
+ },
+ "parameters": {
+ "description": "Resource Manager template blueprint artifact parameter values.",
+ "$ref": "#/definitions/ParameterValueCollection"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BlueprintResourcePropertiesBase"
+ },
+ {
+ "$ref": "#/definitions/ArtifactPropertiesBase"
+ }
+ ],
+ "required": [
+ "template",
+ "parameters"
+ ]
+ },
+ "TemplateArtifact": {
+ "description": "Blueprint artifact that deploys a Resource Manager template.",
+ "type": "object",
+ "x-ms-discriminator-value": "template",
+ "properties": {
+ "properties": {
+ "description": "Properties for a Resource Manager template blueprint artifact.",
+ "$ref": "#/definitions/TemplateArtifactProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Artifact"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "RoleAssignmentArtifactProperties": {
+ "type": "object",
+ "description": "Properties of a Role assignment blueprint artifact.",
+ "properties": {
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "Azure resource ID of the RoleDefinition."
+ },
+ "principalIds": {
+ "description": "Array of user or group identities in Azure Active Directory. The roleDefinition will apply to each identity."
+ },
+ "resourceGroup": {
+ "type": "string",
+ "description": "RoleAssignment will be scope to this resourceGroup. If empty, it scopes to the subscription."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BlueprintResourcePropertiesBase"
+ },
+ {
+ "$ref": "#/definitions/ArtifactPropertiesBase"
+ }
+ ],
+ "required": [
+ "roleDefinitionId",
+ "principalIds"
+ ]
+ },
+ "RoleAssignmentArtifact": {
+ "description": "Blueprint artifact that applies a Role assignment.",
+ "type": "object",
+ "x-ms-discriminator-value": "roleAssignment",
+ "properties": {
+ "properties": {
+ "description": "Properties for a Role assignment blueprint artifact.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleAssignmentArtifactProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Artifact"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "PolicyAssignmentArtifactProperties": {
+ "type": "object",
+ "description": "Properties of a Policy assignment blueprint artifact.",
+ "properties": {
+ "policyDefinitionId": {
+ "type": "string",
+ "description": "Azure resource ID of the policy definition."
+ },
+ "parameters": {
+ "description": "Parameter values for the policy definition.",
+ "$ref": "#/definitions/ParameterValueCollection"
+ },
+ "resourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group placeholder to which the policy will be assigned."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BlueprintResourcePropertiesBase"
+ },
+ {
+ "$ref": "#/definitions/ArtifactPropertiesBase"
+ }
+ ],
+ "required": [
+ "policyDefinitionId",
+ "parameters"
+ ]
+ },
+ "PolicyAssignmentArtifact": {
+ "description": "Blueprint artifact that applies a Policy assignment.",
+ "type": "object",
+ "x-ms-discriminator-value": "policyAssignment",
+ "properties": {
+ "properties": {
+ "description": "properties for policyAssignment Artifact",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyAssignmentArtifactProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Artifact"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "ParameterValueCollection": {
+ "description": "A dictionary for parameters and their corresponding values.",
+ "type": "object",
+ "properties": {},
+ "additionalProperties": {
+ "description": "Key/Value pair of parameter fulfillment.",
+ "$ref": "#/definitions/ParameterValueBase"
+ }
+ },
+ "ParameterValueBase": {
+ "description": "Base class for ParameterValue.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Optional property. Establishes ParameterValueBase as a BaseClass.",
+ "type": "string"
+ }
+ }
+ },
+ "ParameterValue": {
+ "description": "Value for the specified parameter.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Actual value."
+ }
+ },
+ "required": [ "value" ],
+ "allOf": [
+ { "$ref": "#/definitions/ParameterValueBase" }
+ ]
+ },
+ "SecretReferenceParameterValue": {
+ "description": "The reference to a secret, if the parameter should be protected.",
+ "type": "object",
+ "properties": {
+ "reference": {
+ "description": "Specifies the reference.",
+ "$ref": "#/definitions/SecretValueReference"
+ }
+ },
+ "required": [ "reference" ],
+ "allOf": [
+ { "$ref": "#/definitions/ParameterValueBase" }
+ ]
+ },
+ "SecretValueReference": {
+ "description": "Reference to a Key Vault secret.",
+ "type": "object",
+ "properties": {
+ "keyVault": {
+ "description": "Specifies the reference to a given Azure Key Vault.",
+ "$ref": "#/definitions/keyVaultReference"
+ },
+ "secretName": {
+ "description": "Name of the secret.",
+ "type": "string"
+ },
+ "secretVersion": {
+ "description": "The version of the secret to use. If left blank, the latest version of the secret is used.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "keyVault",
+ "secretName"
+ ]
+ },
+ "keyVaultReference": {
+ "description": "Specifies the link to a Key Vault.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Azure resource ID of the Key Vault.",
+ "type": "string"
+ }
+ },
+ "required": [ "id" ]
+ },
+ "ParameterDefinitionCollection": {
+ "description": "A dictionary hold parameter name and its metadata.",
+ "type": "object",
+ "properties": {},
+ "additionalProperties": {
+ "description": "Named collection of parameter metadata.",
+ "$ref": "#/definitions/ParameterDefinition"
+ }
+ },
+ "ParameterDefinition": {
+ "description": "Represent a parameter with constrains and metadata.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Allowed data types for Resource Manager template parameters.",
+ "enum": [
+ "string",
+ "array",
+ "bool",
+ "int",
+ "object",
+ "secureObject",
+ "secureString"
+ ],
+ "x-ms-enum": {
+ "name": "TemplateParameterType",
+ "modelAsString": true
+ }
+ },
+ "metadata": {
+ "description": "User-friendly properties for this parameter.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ParameterDefinitionMetadata"
+ },
+ "defaultValue": {
+ "description": "Default Value for this parameter."
+ },
+ "allowedValues": {
+ "type": "array",
+ "description": "Array of allowed values for this parameter.",
+ "items": {
+ "description": "Allowed value."
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "ResourceGroupDefinitionCollection": {
+ "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.",
+ "type": "object",
+ "properties": {},
+ "additionalProperties": {
+ "description": "Named collection for resourceGroupDefinition.",
+ "$ref": "#/definitions/ResourceGroupDefinition"
+ }
+ },
+ "ResourceGroupDefinition": {
+ "description": "Represents an Azure resource group in a blueprint definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of this resourceGroup. Leave empty if the resource group name will be specified during the blueprint assignment.",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of this resourceGroup. Leave empty if the resource group location will be specified during the blueprint assignment.",
+ "maxLength": 90
+ },
+ "metadata": {
+ "description": "User-friendly properties for this resource group.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ParameterDefinitionMetadata"
+ },
+ "dependsOn": {
+ "type": "array",
+ "description": "Artifacts which need to be deployed before this resource group.",
+ "items": {
+ "type": "string",
+ "description": "Name of peer artifact."
+ }
+ },
+ "tags": {
+ "description": "Tags to be assigned to this resource group.",
+ "$ref": "#/definitions/ResourceGroupTagCollection"
+ }
+ }
+ },
+ "ResourceGroupTagCollection": {
+ "description": "A dictionary of resource group tag values.",
+ "type": "object",
+ "properties": {},
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "ParameterDefinitionMetadata": {
+ "type": "object",
+ "description": "User-friendly properties for this parameter.",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "DisplayName of this parameter/resourceGroup.",
+ "maxLength": 256
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of this parameter/resourceGroup.",
+ "maxLength": 500
+ },
+ "strongType": {
+ "type": "string",
+ "description": "StrongType for UI to render rich experience during blueprint assignment.",
+ "maxLength": 64
+ }
+ }
+ },
+ "ResourceGroupValueCollection": {
+ "description": "A dictionary which maps resource group placeholders to the resource groups which will be created.",
+ "type": "object",
+ "properties": {},
+ "additionalProperties": {
+ "$ref": "#/definitions/ResourceGroupValue"
+ }
+ },
+ "ResourceGroupValue": {
+ "description": "Represents an Azure resource group.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the resource group.",
+ "minLength": 1,
+ "maxLength": 90
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource group."
+ }
+ }
+ },
+ "AzureResourceBase": {
+ "description": "Common properties for all Azure resources.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "String Id used to locate any resource on Azure."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of this resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of this resource."
+ }
+ }
+ },
+ "ArtifactPropertiesBase": {
+ "description": "Common properties shared by different artifacts.",
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "dependsOn": {
+ "type": "array",
+ "description": "Artifacts which need to be deployed before the specified artifact.",
+ "items": {
+ "type": "string",
+ "description": "ID of peer artifact."
+ }
+ }
+ }
+ },
+ "BlueprintResourcePropertiesBase": {
+ "description": "Shared properties between all blueprint resources.",
+ "type": "object",
+ "x-ms-external": true,
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "One-liner string explain this resource.",
+ "maxLength": 256
+ },
+ "description": {
+ "type": "string",
+ "description": "Multi-line explain this resource.",
+ "maxLength": 500
+ }
+ }
+ },
+ "BlueprintResourceStatusBase": {
+ "description": "Shared status properties between all blueprint resources.",
+ "type": "object",
+ "properties": {
+ "timeCreated": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Creation time of this blueprint definition."
+ },
+ "lastModified": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Last modified time of this blueprint definition."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ScopeParameter":{
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the resource. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}').",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "BlueprintNameParameter": {
+ "name": "blueprintName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Name of the blueprint definition."
+ },
+ "ArtifactNameParameter": {
+ "name": "artifactName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Name of the blueprint artifact."
+ },
+ "PublishedBlueprintVersionIdParameter": {
+ "name": "versionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Version of the published blueprint definition."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "description": "Client API Version."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignmentOperation_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignmentOperation_Get.json
new file mode 100644
index 000000000000..3a6c0b507eca
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignmentOperation_Get.json
@@ -0,0 +1,49 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "assignmentName":"assignSimpleBlueprint",
+ "assignmentOperationName":"fb5d4dcb-7ce2-4087-ba7a-459aa74e5e0f"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "id":"/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/microsoft.blueprint/blueprintAssignments/assignSimpleBlueprint/assignmentOperations/fb5d4dcb-7ce2-4087-ba7a-459aa74e5e0f",
+ "type": "microsoft.blueprint/blueprintAssignments/operations",
+ "name": "fb5d4dcb-7ce2-4087-ba7a-459aa74e5e0f",
+ "properties": {
+ "blueprintVersion": "v20181101",
+ "assignmentState": "succeed",
+ "timeCreated": "2018-11-13T15:19:45-08:00",
+ "timeStarted": "2018-11-13T15:21:49-08:00",
+ "timeFinished": "2018-11-13T15:26:02-08:00",
+ "deployments":[
+ {
+ "kind": "azureResource",
+ "action": "put",
+ "jobState": "succeeded",
+ "requestUri": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/microsoft.deployments/deployments/48432786-2f1b-4925-8032-a5d57bcb5b6e",
+ "result": {
+ "resources": [
+ {
+ "id": "blabla",
+ "name":"foobar",
+ "type":"foo/bar"
+ }
+ ]
+ },
+ "history":[
+ {
+ "error":{
+ "code": "dummy",
+ "message":"dummy"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignmentOperation_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignmentOperation_List.json
new file mode 100644
index 000000000000..040bc621dc99
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignmentOperation_List.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "assignmentName": "assignSimpleBlueprint"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value":[{
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/microsoft.blueprint/blueprintAssignments/assignSimpleBlueprint/assignmentOperations/fb5d4dcb-7ce2-4087-ba7a-459aa74e5e0f",
+ "type": "microsoft.blueprint/blueprintAssignments/operations",
+ "name": "fb5d4dcb-7ce2-4087-ba7a-459aa74e5e0f",
+ "properties": {
+ "blueprintVersion": "v20181101",
+ "assignmentState": "succeed",
+ "timeCreated": "2018-11-13T15:19:45-08:00",
+ "timeStarted": "2018-11-13T15:21:49-08:00",
+ "timeFinished": "2018-11-13T15:26:02-08:00",
+ "deployments": [
+ {
+ "kind": "azureResource",
+ "action": "put",
+ "jobState": "succeeded",
+ "requestUri": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/microsoft.deployments/deployments/48432786-2f1b-4925-8032-a5d57bcb5b6e",
+ "result": {
+ "resources": [
+ {
+ "id": "blabla",
+ "name": "foobar",
+ "type": "foo/bar"
+ }
+ ]
+ },
+ "history": [
+ {
+ "error": {
+ "code": "dummy",
+ "message": "dummy"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }],
+ "nextLink":null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Create.json
new file mode 100644
index 000000000000..9b140c307da4
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Create.json
@@ -0,0 +1,77 @@
+{
+ "parameters":{
+ "api-version":"2017-11-11-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "assignmentName":"assignSimpleBlueprint",
+ "assignment":{
+ "identity":{
+ "type": "SystemAssigned"
+ },
+ "location": "eastus",
+ "properties": {
+ "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.",
+ "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "value": "Standard_LRS"
+ },
+ "costCenter": {
+ "value": "Contoso/Online/Shopping/Production"
+ },
+ "owners": {
+ "value": [
+ "johnDoe@contoso.com",
+ "johnsteam@contoso.com"
+ ]
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "name": "defaultRG",
+ "location": "eastus"
+ }
+ }
+ }
+ }
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "identity":{
+ "type": "SystemAssigned",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ },
+ "location": "eastus",
+ "properties": {
+ "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.",
+ "provisioningState": "creating",
+ "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "value": "Standard_LRS"
+ },
+ "costCenter": {
+ "value": "Contoso/Online/Shopping/Production"
+ },
+ "owners": {
+ "value": [
+ "johnDoe@contoso.com",
+ "johnsteam@contoso.com"
+ ]
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "name": "defaultRG",
+ "location": "eastus"
+ }
+ }
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint",
+ "type": "Microsoft.Blueprint/Assignment",
+ "name": "assignSimpleBlueprint"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Delete.json
new file mode 100644
index 000000000000..6b2bb85879a5
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Delete.json
@@ -0,0 +1,48 @@
+{
+ "parameters":{
+ "api-version":"2017-11-11-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "assignmentName":"assignSimpleBlueprint"
+ },
+ "responses":{
+ "202":{
+ "body":{
+ "identity":{
+ "type": "SystemAssigned",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ },
+ "location": "eastus",
+ "properties": {
+ "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.",
+ "provisioningState": "deleting",
+ "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "value": "Standard_LRS"
+ },
+ "costCenter": {
+ "value": "Contoso/Online/Shopping/Production"
+ },
+ "owners": {
+ "value": [
+ "johnDoe@contoso.com",
+ "johnsteam@contoso.com"
+ ]
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "name": "defaultRG",
+ "location": "eastus"
+ }
+ }
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint",
+ "type": "Microsoft.Blueprint/Assignment",
+ "name": "assignSimpleBlueprint"
+ }
+ },
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Get.json
new file mode 100644
index 000000000000..1d1f5e06054a
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters":{
+ "api-version":"2017-11-11-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "assignmentName":"assignSimpleBlueprint"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "identity":{
+ "type": "SystemAssigned",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ },
+ "location": "eastus",
+ "properties": {
+ "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.",
+ "provisioningState": "succeed",
+ "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "value": "Standard_LRS"
+ },
+ "costCenter": {
+ "value": "Contoso/Online/Shopping/Production"
+ },
+ "owners": {
+ "value": [
+ "johnDoe@contoso.com",
+ "johnsteam@contoso.com"
+ ]
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "name": "defaultRG",
+ "location": "eastus"
+ }
+ }
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint",
+ "type": "Microsoft.Blueprint/Assignment",
+ "name": "assignSimpleBlueprint"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_List.json
new file mode 100644
index 000000000000..1cb07a7dcd6d
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/BlueprintAssignment_List.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version":"2017-11-11-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity":{
+ "type": "SystemAssigned",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ },
+ "location": "eastus",
+ "properties": {
+ "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.",
+ "provisioningState": "failed",
+ "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "value": "Standard_LRS"
+ },
+ "costCenter": {
+ "value": "Contoso/Online/Shopping/Production"
+ },
+ "owners": {
+ "value": [
+ "johnDoe@contoso.com",
+ "johnsteam@contoso.com"
+ ]
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "name": "defaultRG",
+ "location": "eastus"
+ }
+ }
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint",
+ "type": "Microsoft.Blueprint/Assignment",
+ "name": "assignSimpleBlueprint"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Create.json
new file mode 100644
index 000000000000..e560785ca8f7
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Create.json
@@ -0,0 +1,117 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "storageTemplate",
+ "artifact":{
+ "kind": "template",
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ }
+ }
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "storageTemplate"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Delete.json
new file mode 100644
index 000000000000..1406b77205f3
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Delete.json
@@ -0,0 +1,67 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "storageTemplate"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "storageTemplate"
+ }
+ },
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Get.json
new file mode 100644
index 000000000000..11328862142e
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/ARMTemplateArtifact_Get.json
@@ -0,0 +1,66 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "storageTemplate"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "storageTemplate"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Artifact_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Artifact_List.json
new file mode 100644
index 000000000000..b1057dead343
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Artifact_List.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "ownerAssignment"
+ },
+ {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "costCenterPolicy"
+ },
+ {
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "storageTemplate"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Create.json
new file mode 100644
index 000000000000..6155ea5f752c
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Create.json
@@ -0,0 +1,85 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "blueprint":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ }
+ }
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type.",
+ "description": null
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription.",
+ "description": null
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment.",
+ "description": null
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints",
+ "name": "simpleBlueprint"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Delete.json
new file mode 100644
index 000000000000..b0fddc400575
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Delete.json
@@ -0,0 +1,50 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription",
+ "status": null
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints",
+ "name": "simpleBlueprint"
+ }
+ },
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Get.json
new file mode 100644
index 000000000000..1b41b5fa716a
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_Get.json
@@ -0,0 +1,49 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription",
+ "status": null
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints",
+ "name": "simpleBlueprint"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_List.json
new file mode 100644
index 000000000000..8c1ebdfe3475
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/Blueprint_List.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription",
+ "status": null
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints",
+ "name": "simpleBlueprint"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Create.json
new file mode 100644
index 000000000000..ae0f1482570f
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Create.json
@@ -0,0 +1,37 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "costCenterPolicy",
+ "artifact":{
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment"
+ }
+ },
+ "responses":{
+ "201":{
+ "body": {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "costCenterPolicy"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Delete.json
new file mode 100644
index 000000000000..e6b6120c0d8c
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Delete.json
@@ -0,0 +1,27 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "costCenterPolicy"
+ },
+ "responses":{
+ "200":{
+ "body": {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "costCenterPolicy"
+ }
+ },
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json
new file mode 100644
index 000000000000..1f50fdf33866
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/PolicyAssignmentArtifact_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "costCenterPolicy"
+ },
+ "responses":{
+ "200":{
+ "body": {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "costCenterPolicy"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Create.json
new file mode 100644
index 000000000000..c3bf4529d966
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Create.json
@@ -0,0 +1,31 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "ownerAssignment",
+ "artifact":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment"
+ }
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "ownerAssignment"
+ }
+ }
+ }
+}
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Delete.json
new file mode 100644
index 000000000000..322ab102b875
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "ownerAssignment"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "ownerAssignment"
+ }
+ },
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json
new file mode 100644
index 000000000000..b66f195308bc
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/RoleAssignmentArtifact_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "ownerAssignment"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "ownerAssignment"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedARMTemplateArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedARMTemplateArtifact_Get.json
new file mode 100644
index 000000000000..a0a022a7db01
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedARMTemplateArtifact_Get.json
@@ -0,0 +1,67 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "versionId":"V2",
+ "artifactName": "storageTemplate"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "storageTemplate"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedArtifact_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedArtifact_List.json
new file mode 100644
index 000000000000..341c5304e9b2
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedArtifact_List.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "versionId": "V2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "ownerAssignment"
+ },
+ {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "costCenterPolicy"
+ },
+ {
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "storageTemplate"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Delete.json
new file mode 100644
index 000000000000..e502efe08429
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Delete.json
@@ -0,0 +1,54 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "versionId": "v2"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "blueprintName":"simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type.",
+ "description": null
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription.",
+ "description": null
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment.",
+ "description": null
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints/versions",
+ "name": "v2"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Get.json
new file mode 100644
index 000000000000..1d3618dd43f7
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Get.json
@@ -0,0 +1,53 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "versionId": "v2"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "blueprintName":"simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type.",
+ "description": null
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription.",
+ "description": null
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment.",
+ "description": null
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints/versions",
+ "name": "v2"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_List.json
new file mode 100644
index 000000000000..9238f5621f01
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_List.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName": "simpleBlueprint"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "blueprintName": "simpleBlueprint",
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription",
+ "status": null
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/v1",
+ "type": "Microsoft.Blueprint/blueprints/versions",
+ "name": "v1"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Publish.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Publish.json
new file mode 100644
index 000000000000..e5a72160fecc
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedBlueprint_Publish.json
@@ -0,0 +1,53 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "versionId": "v2"
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "blueprintName":"simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type.",
+ "description": null
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription.",
+ "description": null
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment.",
+ "description": null
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ },
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints/versions",
+ "name": "v2"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedPolicyAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedPolicyAssignmentArtifact_Get.json
new file mode 100644
index 000000000000..6c7ddcac8fd2
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedPolicyAssignmentArtifact_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "versionId":"V2",
+ "artifactName": "costCenterPolicy"
+ },
+ "responses":{
+ "200":{
+ "body": {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "costCenterPolicy"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedRoleAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedRoleAssignmentArtifact_Get.json
new file mode 100644
index 000000000000..18ae13b1b62c
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPDef/SealedRoleAssignmentArtifact_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"providers/Microsoft.Management/managementGroups/ContosoOnlineGroup",
+ "blueprintName":"simpleBlueprint",
+ "versionId":"V2",
+ "artifactName": "ownerAssignment"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "ownerAssignment"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Create.json
new file mode 100644
index 000000000000..5c7ed4abb3dd
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Create.json
@@ -0,0 +1,117 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "storageTemplate",
+ "artifact":{
+ "kind": "template",
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ }
+ }
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "storageTemplate"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Delete.json
new file mode 100644
index 000000000000..679ff9cd5a5c
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Delete.json
@@ -0,0 +1,67 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "storageTemplate"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "storageTemplate"
+ }
+ },
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Get.json
new file mode 100644
index 000000000000..6f82f380d90e
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/ARMTemplateArtifact_Get.json
@@ -0,0 +1,66 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "storageTemplate"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "storageTemplate"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Artifact_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Artifact_List.json
new file mode 100644
index 000000000000..9bf40050ffb2
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Artifact_List.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "ownerAssignment"
+ },
+ {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "costCenterPolicy"
+ },
+ {
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "storageTemplate"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Create.json
new file mode 100644
index 000000000000..73134ab2e9ae
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Create.json
@@ -0,0 +1,85 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "blueprint":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ }
+ }
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type.",
+ "description": null
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription.",
+ "description": null
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment.",
+ "description": null
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints",
+ "name": "simpleBlueprint"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Delete.json
new file mode 100644
index 000000000000..81020eb24f55
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Delete.json
@@ -0,0 +1,50 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription",
+ "status": null
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints",
+ "name": "simpleBlueprint"
+ }
+ },
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Get.json
new file mode 100644
index 000000000000..f7d1ffaa3730
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_Get.json
@@ -0,0 +1,49 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription",
+ "status": null
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints",
+ "name": "simpleBlueprint"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_List.json
new file mode 100644
index 000000000000..55a531a09331
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/Blueprint_List.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription",
+ "status": null
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints",
+ "name": "simpleBlueprint"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Create.json
new file mode 100644
index 000000000000..cd1501ec5f6c
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Create.json
@@ -0,0 +1,37 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "costCenterPolicy",
+ "artifact":{
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment"
+ }
+ },
+ "responses":{
+ "201":{
+ "body": {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "costCenterPolicy"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Delete.json
new file mode 100644
index 000000000000..959156266eda
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Delete.json
@@ -0,0 +1,27 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "costCenterPolicy"
+ },
+ "responses":{
+ "200":{
+ "body": {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "costCenterPolicy"
+ }
+ },
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json
new file mode 100644
index 000000000000..3773dc72c8e2
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/PolicyAssignmentArtifact_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "costCenterPolicy"
+ },
+ "responses":{
+ "200":{
+ "body": {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "costCenterPolicy"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Create.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Create.json
new file mode 100644
index 000000000000..468b98798c6c
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Create.json
@@ -0,0 +1,31 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "ownerAssignment",
+ "artifact":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment"
+ }
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "ownerAssignment"
+ }
+ }
+ }
+}
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Delete.json
new file mode 100644
index 000000000000..f471ac446c3c
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "ownerAssignment"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "ownerAssignment"
+ }
+ },
+ "204":{}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json
new file mode 100644
index 000000000000..30b15fd71937
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/RoleAssignmentArtifact_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "artifactName": "ownerAssignment"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/artifacts",
+ "name": "ownerAssignment"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedARMTemplateArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedARMTemplateArtifact_Get.json
new file mode 100644
index 000000000000..17bee60a52bb
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedARMTemplateArtifact_Get.json
@@ -0,0 +1,67 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "versionId":"V2",
+ "artifactName": "storageTemplate"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "storageTemplate"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedArtifact_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedArtifact_List.json
new file mode 100644
index 000000000000..e3f053d5e4fb
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedArtifact_List.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "versionId": "V2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "ownerAssignment"
+ },
+ {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "costCenterPolicy"
+ },
+ {
+ "properties": {
+ "template": {
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "defaultValue": "Standard_LRS",
+ "allowedValues": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_ZRS",
+ "Premium_LRS"
+ ],
+ "metadata": {
+ "description": "Storage Account type"
+ }
+ }
+ },
+ "variables": {
+ "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'standardsa')]"
+ },
+ "resources": [
+ {
+ "type": "Microsoft.Storage/storageAccounts",
+ "name": "[variables('storageAccountName')]",
+ "apiVersion": "2016-01-01",
+ "location": "[resourceGroup().location]",
+ "sku": {
+ "name": "[parameters('storageAccountType')]"
+ },
+ "kind": "Storage",
+ "properties": {}
+ }
+ ],
+ "outputs": {
+ "storageAccountName": {
+ "type": "string",
+ "value": "[variables('storageAccountName')]"
+ }
+ }
+ },
+ "resourceGroup": "storageRG",
+ "parameters": {
+ "storageAccountType": {
+ "value": "[parameters('storageAccountType')]"
+ }
+ }
+ },
+ "kind": "template",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/storageTemplate",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "storageTemplate"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Delete.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Delete.json
new file mode 100644
index 000000000000..b584ffbf1366
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Delete.json
@@ -0,0 +1,54 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "versionId": "v2"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "blueprintName":"simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type.",
+ "description": null
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription.",
+ "description": null
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment.",
+ "description": null
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints/versions",
+ "name": "v2"
+ }
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Get.json
new file mode 100644
index 000000000000..d8a64f893572
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Get.json
@@ -0,0 +1,53 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "versionId": "v2"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "blueprintName":"simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type.",
+ "description": null
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription.",
+ "description": null
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment.",
+ "description": null
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints/versions",
+ "name": "v2"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_List.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_List.json
new file mode 100644
index 000000000000..b04c59eb4ce3
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_List.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName": "simpleBlueprint"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "blueprintName": "simpleBlueprint",
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type."
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription."
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment."
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription",
+ "status": null
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/v1",
+ "type": "Microsoft.Blueprint/blueprints/versions",
+ "name": "v1"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Publish.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Publish.json
new file mode 100644
index 000000000000..4471959bcc62
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedBlueprint_Publish.json
@@ -0,0 +1,53 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "versionId": "v2"
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "properties": {
+ "description": "blueprint contains all artifact kinds {'template', 'rbac', 'policy'}",
+ "blueprintName":"simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "type": "string",
+ "metadata": {
+ "displayName": "storage account type.",
+ "description": null
+ }
+ },
+ "costCenter": {
+ "type": "string",
+ "metadata": {
+ "displayName": "force cost center tag for all resources under given subscription.",
+ "description": null
+ }
+ },
+ "owners": {
+ "type": "array",
+ "metadata": {
+ "displayName": "assign owners to subscription along with blueprint assignment.",
+ "description": null
+ }
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "metadata":{
+ "displayName": "storage resource group",
+ "description": "Contains storageAccounts that collect all shoebox logs."
+ }
+ }
+ },
+ "targetScope": "subscription"
+ },
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "type": "Microsoft.Blueprint/blueprints/versions",
+ "name": "v2"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedPolicyAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedPolicyAssignmentArtifact_Get.json
new file mode 100644
index 000000000000..cad36be6b4d9
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedPolicyAssignmentArtifact_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "versionId":"V2",
+ "artifactName": "costCenterPolicy"
+ },
+ "responses":{
+ "200":{
+ "body": {
+ "properties": {
+ "displayName": "force costCenter tag on all resources",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
+ "parameters": {
+ "tagName": { "value": "costCenter" },
+ "tagValue": { "value": "[parameter('costCenter')]" }
+ }
+ },
+ "kind": "policyAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/costCenterPolicy",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "costCenterPolicy"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedRoleAssignmentArtifact_Get.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedRoleAssignmentArtifact_Get.json
new file mode 100644
index 000000000000..73c0e6253c9c
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPDef/SealedRoleAssignmentArtifact_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01-preview",
+ "scope":"subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b",
+ "blueprintName":"simpleBlueprint",
+ "versionId":"V2",
+ "artifactName": "ownerAssignment"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "properties": {
+ "displayName": "enforce owners of given subscription",
+ "roleDefinitionId": "/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7",
+ "principalIds": "[parameters('owners')]"
+ },
+ "kind": "roleAssignment",
+ "id": "/subscriptions/f8df94f2-2f5a-4f4a-bcaf-1bb992fb564b/providers/Microsoft.Blueprint/blueprints/simpleBlueprint/versions/V2/artifacts/ownerAssignment",
+ "type": "Microsoft.Blueprint/blueprints/versions/artifacts",
+ "name": "ownerAssignment"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/readme.go.md b/specification/blueprint/resource-manager/readme.go.md
index 37f2194ec7d6..7bbbb41384ef 100644
--- a/specification/blueprint/resource-manager/readme.go.md
+++ b/specification/blueprint/resource-manager/readme.go.md
@@ -13,14 +13,23 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- - tag: package-2017-11-preview
+ - tag: package-2018-11-preview
```
### Tag: package-2017-11-preview and go
-These settings apply only when `--tag=package-2015-11-preview --go` is specified on the command line.
+These settings apply only when `--tag=package-2017-11-preview --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2017-11-preview' && $(go)
output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-11-11-preview/$(namespace)
```
+
+### Tag: package-2018-11-preview and go
+
+These settings apply only when `--tag=package-2018-11-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-11-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-11-01-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/blueprint/resource-manager/readme.md b/specification/blueprint/resource-manager/readme.md
index 1c86463570e2..003beb57cc0b 100644
--- a/specification/blueprint/resource-manager/readme.md
+++ b/specification/blueprint/resource-manager/readme.md
@@ -24,7 +24,7 @@ These are the global settings for the Blueprint API.
title: BlueprintManagementClient
description: Blueprint Client
openapi-type: arm
-tag: package-2017-11-preview
+tag: package-2018-11-preview
```
@@ -38,6 +38,17 @@ input-file:
- Microsoft.Blueprint/preview/2017-11-11-preview/blueprintAssignment.json
```
+### Tag: package-2018-11-preview
+
+These settings apply only when `--tag=package-2018-11-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-11-preview'
+input-file:
+- Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
+- Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
+- Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json
+```
+
---
# Code Generation
@@ -50,6 +61,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-node
+ - repo: azure-sdk-for-python
```
@@ -137,4 +149,8 @@ directive:
suppress: OperationsAPIImplementation
where: $.paths
reason: OperationsAPI for Microsoft.Management is out of scope.
+ - from: assignmentOperation.json
+ suppress: OperationsAPIImplementation
+ where: $.paths
+ reason: OperationsAPI for Microsoft.Management is out of scope.
```
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
index 580c70d4d4d0..33658e4c4fb4 100644
--- 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
@@ -1653,8 +1653,11 @@
"description": "Enable https delivery of the custom domain.",
"operationId": "CustomDomains_EnableCustomHttps",
"x-ms-examples": {
- "CustomDomains_EnableCustomHttps": {
- "$ref": "./examples/CustomDomains_EnableCustomHttps.json"
+ "CustomDomains_EnableCustomHttpsUsingYourOwnCertificate": {
+ "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingBYOC.json"
+ },
+ "CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate" :{
+ "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json"
}
},
"parameters": [
@@ -1682,6 +1685,15 @@
"required": true,
"type": "string"
},
+ {
+ "name": "customDomainHttpsParameters",
+ "in": "body",
+ "description": "The configuration specifying how to enable HTTPS for the custom domain - using CDN managed certificate or user's own certificate. If not specified, enabling ssl uses CDN managed certificate by default.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ }
+ },
{
"$ref": "#/parameters/subscriptionIdParameter"
},
@@ -2765,6 +2777,166 @@
}
}
},
+ "CustomDomainHttpsParameters": {
+ "description": "The JSON object that contains the properties to secure a custom domain.",
+ "discriminator": "certificateSource",
+ "required": [
+ "certificateSource",
+ "protocolType"
+ ],
+ "properties": {
+ "certificateSource": {
+ "description": "Defines the source of the SSL certificate.",
+ "enum": [
+ "AzureKeyVault",
+ "Cdn"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CertificateSource",
+ "modelAsString": true
+ }
+ },
+ "protocolType": {
+ "description": "Defines the TLS extension protocol that is used for secure delivery.",
+ "enum": [
+ "ServerNameIndication",
+ "IPBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProtocolType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CdnManagedHttpsParameters": {
+ "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.",
+ "x-ms-discriminator-value": "Cdn",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ }
+ ],
+ "required": [
+ "certificateSourceParameters"
+ ],
+ "properties": {
+ "certificateSourceParameters": {
+ "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.",
+ "$ref": "#/definitions/CdnCertificateSourceParameters"
+ }
+ }
+ },
+ "CdnCertificateSourceParameters": {
+ "description": "Defines the parameters for using CDN managed certificate for securing custom domain.",
+ "required": [
+ "@odata.type",
+ "certificateType"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters"
+ ]
+ },
+ "certificateType": {
+ "description": "Type of certificate used",
+ "enum": [
+ "Shared",
+ "Dedicated"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CertificateType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserManagedHttpsParameters": {
+ "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.",
+ "x-ms-discriminator-value": "AzureKeyVault",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ }
+ ],
+ "required": [
+ "certificateSourceParameters"
+ ],
+ "properties": {
+ "certificateSourceParameters": {
+ "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.",
+ "$ref": "#/definitions/KeyVaultCertificateSourceParameters"
+ }
+ }
+ },
+ "KeyVaultCertificateSourceParameters": {
+ "description": "Describes the parameters for using a user's KeyVault certificate for securing custom domain.",
+ "required": [
+ "@odata.type",
+ "subscriptionId",
+ "resourceGroupName",
+ "vaultName",
+ "secretName",
+ "secretVersion",
+ "updateRule",
+ "deleteRule"
+ ],
+ "properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters"
+ ]
+ },
+ "subscriptionId": {
+ "description": "Subscription Id of the user's Key Vault containing the SSL certificate",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "Resource group of the user's Key Vault containing the SSL certificate",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "The name of the user's Key Vault containing the SSL certificate",
+ "type": "string"
+ },
+ "secretName": {
+ "description": "The name of Key Vault Secret (representing the full certificate PFX) in Key Vault.",
+ "type": "string"
+ },
+ "secretVersion": {
+ "description": "The version(GUID) of Key Vault Secret in Key Vault.",
+ "type": "string"
+ },
+ "updateRule": {
+ "description": "Describes the action that shall be taken when the certificate is updated in Key Vault.",
+ "type": "string",
+ "enum": [
+ "NoAction"
+ ],
+ "x-ms-enum": {
+ "name": "UpdateRule",
+ "modelAsString": true
+ }
+ },
+ "deleteRule": {
+ "description": "Describes the action that shall be taken when the certificate is removed from Key Vault.",
+ "type": "string",
+ "enum": [
+ "NoAction"
+ ],
+ "x-ms-enum": {
+ "name": "DeleteRule",
+ "modelAsString": true
+ }
+ }
+ }
+ },
"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": {
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
deleted file mode 100644
index 02f0185444a3..000000000000
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_EnableCustomHttps.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "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_EnableCustomHttpsUsingBYOC.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
new file mode 100644
index 000000000000..db2bc8a4a9d0
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net",
+ "customHttpsParameters": {
+ "certificateSource": "AzureKeyVault",
+ "protocolType": "ServerNameIndication",
+ "certificateSourceParameters": {
+ "OData.type":"#Microsoft.Azure.Cdn.Models.KeyVaultCertificateSourceParameters",
+ "subscriptionId":"subid",
+ "resourceGroupName":"RG",
+ "vaultName":"kv",
+ "secretName" : "secret1",
+ "secretVersion" :"00000000-0000-0000-0000-000000000000",
+ "updateRule": "NoAction",
+ "deleteRule": "NoAction"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
new file mode 100644
index 000000000000..518f58899340
--- /dev/null
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2017-10-12/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2017-10-12",
+ "subscriptionId": "subid",
+ "resourceGroupName": "RG",
+ "profileName": "profile1",
+ "endpointName": "endpoint1",
+ "customDomainName": "www-someDomain-net",
+ "customHttpsParameters": {
+ "certificateSource": "Cdn",
+ "protocolType": "ServerNameIndication",
+ "certificateSourceParameters": {
+ "OData.type":"#Microsoft.Azure.Cdn.Models.CdnCertificateSourceParameters",
+ "certificateType":"Shared"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.go.md b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.go.md
new file mode 100644
index 000000000000..1c6667023fd1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: anomalyfinder
+ 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.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_2_0' && $(go)
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v2.0/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.md b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.md
new file mode 100644
index 000000000000..6a860537fb1d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.md
@@ -0,0 +1,78 @@
+# Cognitive Services Anomaly Finder SDK
+
+> see https://aka.ms/autorest
+
+Configuration for generating Anomaly Finder SDK.
+
+The current release is `release_2_0`.
+
+``` yaml
+
+tag: release_2_0
+add-credentials: true
+openapi-type: data-plane
+```
+
+# Releases
+
+### Release 2.0
+These settings apply only when `--tag=release_2_0` is specified on the command line.
+
+``` yaml $(tag) == 'release_2_0'
+input-file: stable/v2.0/AnomalyFinder.json
+```
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_cognitiveservices_anomalyfinder']
+```
+
+## CSharp Settings
+
+These settings apply only when `--csharp` is specified on the command line.
+
+``` yaml $(csharp)
+csharp:
+ sync-methods: None
+ license-header: MICROSOFT_MIT_NO_VERSION
+ azure-arm: false
+ namespace: Microsoft.Azure.CognitiveServices.AnomalyFinder
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/AnomalyFinder/AnomalyFinder/Generated
+ clear-output-folder: true
+```
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ namespace: com.microsoft.azure.cognitiveservices.anomalyfinder
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/anomalyfinder
+ with-optional-parameters: true
+ with-single-async-method: true
+```
diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.nodejs.md b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.nodejs.md
new file mode 100644
index 000000000000..c42f25de3ce7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.nodejs.md
@@ -0,0 +1,14 @@
+## Node.js
+
+These settings apply only when `--nodejs` is specified on the command line.
+Please also specify `--node-sdks-folder=`.
+
+``` yaml $(nodejs)
+nodejs:
+ package-name: azure-cognitiveservices-anomalyfinder
+ output-folder: $(node-sdks-folder)/lib/services/cognitiveServicesAnomalyFinder
+ azure-arm: false
+ generate-license-txt: true
+ generate-package-json: true
+ generate-readme-md: true
+```
diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.python.md b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.python.md
new file mode 100644
index 000000000000..b9cc574371cf
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.python.md
@@ -0,0 +1,26 @@
+## 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
+ add-credentials: true
+ payload-flattening-threshold: 2
+ namespace: azure.cognitiveservices.anomalyfinder
+ package-name: azure-cognitiveservices-anomalyfinder
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-anomalyfinder/azure/cognitiveservices/anomalyfinder
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-anomalyfinder
+```
diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.ruby.md b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.ruby.md
new file mode 100644
index 000000000000..6e0beb180fb3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.ruby.md
@@ -0,0 +1,27 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+``` yaml
+package-name: azure_cognitiveservices_anomalyfinder
+package-version: "0.16.0"
+azure-arm: true
+```
+
+### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: release_2_0
+```
+
+### Tag: release_2_0 and ruby
+
+These settings apply only when `--tag=release_2_0 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'release_2_0' && $(ruby)
+namespace: "Azure::CognitiveServices::AnomalyFinder::V2_0"
+output-folder: $(ruby-sdks-folder)/data/azure_cognitiveservices_anomalyfinder/lib
+title: "AnomalyFinderClient"
+```
diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/readme.typescript.md b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.typescript.md
new file mode 100644
index 000000000000..339223231a18
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyFinder/readme.typescript.md
@@ -0,0 +1,12 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ package-name: "@azure/cognitiveservices-anomalyfinder"
+ output-folder: "$(typescript-sdks-folder)/packages/@azure/cognitiveservices-anomalyfinder"
+ azure-arm: false
+ generate-metadata: true
+```
diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/AnomalyFinder.json b/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/AnomalyFinder.json
new file mode 100644
index 000000000000..66128cd74078
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/AnomalyFinder.json
@@ -0,0 +1,332 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.0",
+ "title": "Anomaly Finder Client",
+ "description": "The Anomaly Finder API detects anomalies automatically in time series data. It supports two functionalities, one is for detecting the whole series with model trained by the timeseries, another is detecting last point with model trained by points before. By using this service, business customers can discover incidents and establish a logic flow for root cause analysis."
+ },
+ "securityDefinitions": {
+ "apiKeyHeader": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apiKeyHeader": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/anomalyfinder/v2.0",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/timeseries/entire/detect": {
+ "post": {
+ "summary": "Find anomalies for the entire series in batch.",
+ "description": "The operation will generate a model using the entire series, each point will be detected with the same model. In this method, points before and after a certain point will be used to determine whether it's an anomaly. The entire detection can give user an overall status of the time series.",
+ "operationId": "EntireDetect",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Request"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/EntireDetectResponse"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Find anomalies for the entire series in batch example": {
+ "$ref": "./examples/EntireDetect.json"
+ }
+ }
+ }
+ },
+ "/timeseries/last/detect": {
+ "post": {
+ "summary": "Detect anomaly status of the latest point in time series.",
+ "description": "The operation will generate a model using points before the latest one, In this method, only history points are used for determine whether the target point is an anomaly. Latest point detecting matches the scenario of real-time monitoring of business metrics.",
+ "operationId": "LastDetect",
+ "parameters": [
+ {
+ "name": "body",
+ "in": "body",
+ "description": "Time series points and period if needed. Advanced model parameters can also be set in the request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Request"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/LastDetectResponse"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Detect anomaly status of the latest point in time series example": {
+ "$ref": "./examples/LastDetect.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "APIError": {
+ "type": "object",
+ "description": "Error information returned by the API.",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "InvalidCustomInterval",
+ "BadArgument",
+ "InvalidGranularity",
+ "InvalidPeriod",
+ "InvalidModelArgument",
+ "InvalidSeries"
+ ],
+ "x-ms-enum": {
+ "name": "AnomalyFinderErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ }
+ }
+ },
+ "Request": {
+ "type": "object",
+ "required": [
+ "granularity",
+ "series"
+ ],
+ "properties": {
+ "series": {
+ "type": "array",
+ "description": "Time series data points. Points should be sorted by timestamp in ascending order to match the anomaly detection result. If the data is not sorted correctly or there is duplicated timestamp, the API will not work. In such case, an error message will be returned.",
+ "items": {
+ "$ref": "#/definitions/Point"
+ }
+ },
+ "granularity": {
+ "type": "string",
+ "description": "Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid.",
+ "x-ms-enum": {
+ "name": "Granularity",
+ "modelAsString": false
+ },
+ "enum": [
+ "yearly",
+ "monthly",
+ "weekly",
+ "daily",
+ "hourly",
+ "minutely"
+ ]
+ },
+ "customInterval": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}."
+ },
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, periodic value of a time series. If the value is null or does not present, the API will determine the period automatically."
+ },
+ "maxAnomalyRatio": {
+ "type": "number",
+ "format": "float",
+ "description": "Optional argument, advanced model parameter, max anomaly ratio in a time series."
+ },
+ "sensitivity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Optional argument, advanced model parameter, between 0-99, the lower the value is, the larger the margin value will be which means less anomalies will be accepted."
+ }
+ }
+ },
+ "Point": {
+ "type": "object",
+ "required": [
+ "timestamp",
+ "value"
+ ],
+ "properties": {
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Timestamp of a data point (ISO8601 format)."
+ },
+ "value": {
+ "type": "number",
+ "format": "float",
+ "description": "The measurement of that point, should be float."
+ }
+ }
+ },
+ "EntireDetectResponse": {
+ "type": "object",
+ "required": [
+ "expectedValues",
+ "isAnomaly",
+ "isNegativeAnomaly",
+ "isPositiveAnomaly",
+ "lowerMargins",
+ "period",
+ "upperMargins"
+ ],
+ "properties": {
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frequency extracted from the series, zero means no recurrent pattern has been found."
+ },
+ "expectedValues": {
+ "type": "array",
+ "description": "ExpectedValues contain expected value for each input point. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "upperMargins": {
+ "type": "array",
+ "description": "UpperMargins contain upper margin of each input point. UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - sensitivity)*upperMargin. Anomalies in response can be filtered by upperBoundary and lowerBoundary. By adjusting sensitivity value, less significant anomalies can be filtered in client side. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "lowerMargins": {
+ "type": "array",
+ "description": "LowerMargins contain lower margin of each input point. LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - sensitivity)*lowerMargin. Points between the boundary can be marked as normal ones in client side. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "number",
+ "format": "float"
+ }
+ },
+ "isAnomaly": {
+ "type": "array",
+ "description": "IsAnomaly contains anomaly properties for each input point. True means an anomaly either negative or positive has been detected. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "boolean"
+ }
+ },
+ "isNegativeAnomaly": {
+ "type": "array",
+ "description": "IsNegativeAnomaly contains anomaly status in negative direction for each input point. True means a negative anomaly has been detected. A negative anomaly means the point is detected as an anomaly and its real value is smaller than the expected one. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "boolean"
+ }
+ },
+ "isPositiveAnomaly": {
+ "type": "array",
+ "description": "IsPositiveAnomaly contain anomaly status in positive direction for each input point. True means a positive anomaly has been detected. A positive anomaly means the point is detected as an anomaly and its real value is larger than the expected one. The index of the array is consistent with the input series.",
+ "items": {
+ "type": "boolean"
+ }
+ }
+ }
+ },
+ "LastDetectResponse": {
+ "type": "object",
+ "properties": {
+ "period": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Frequency extracted from the series, zero means no recurrent pattern has been found."
+ },
+ "suggestedWindow": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Suggested input series points needed for detecting the latest point."
+ },
+ "expectedValue": {
+ "type": "number",
+ "format": "float",
+ "description": "Expected value of the latest point."
+ },
+ "upperMargin": {
+ "type": "number",
+ "format": "float",
+ "description": "Upper margin of the latest point. UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - sensitivity)*upperMargin. If the value of latest point is between upperBoundary and lowerBoundary, it should be treated as normal value. By adjusting sensitivity value, anomaly status of latest point can be changed."
+ },
+ "lowerMargin": {
+ "type": "number",
+ "format": "float",
+ "description": "Lower margin of the latest point. LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - sensitivity)*lowerMargin. "
+ },
+ "isAnomaly": {
+ "type": "boolean",
+ "description": "Anomaly status of the latest point, true means the latest point is an anomaly either in negative direction or positive direction."
+ },
+ "isNegativeAnomaly": {
+ "type": "boolean",
+ "description": "Anomaly status in negative direction of the latest point. True means the latest point is an anomaly and its real value is smaller than the expected one."
+ },
+ "isPositiveAnomaly": {
+ "type": "boolean",
+ "description": "Anomaly status in positive direction of the latest point. True means the latest point is an anomaly and its real value is larger than the expected one."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/EntireDetect.json b/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/EntireDetect.json
new file mode 100644
index 000000000000..161509dc8adf
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/EntireDetect.json
@@ -0,0 +1,465 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "series": [ {
+ "timestamp": "1972-01-01T00:00:00Z",
+ "value": 826
+ }, {
+ "timestamp": "1972-02-01T00:00:00Z",
+ "value": 799
+ }, {
+ "timestamp": "1972-03-01T00:00:00Z",
+ "value": 890
+ }, {
+ "timestamp": "1972-04-01T00:00:00Z",
+ "value": 900
+ }, {
+ "timestamp": "1972-05-01T00:00:00Z",
+ "value": 961
+ }, {
+ "timestamp": "1972-06-01T00:00:00Z",
+ "value": 935
+ }, {
+ "timestamp": "1972-07-01T00:00:00Z",
+ "value": 894
+ }, {
+ "timestamp": "1972-08-01T00:00:00Z",
+ "value": 855
+ }, {
+ "timestamp": "1972-09-01T00:00:00Z",
+ "value": 809
+ }, {
+ "timestamp": "1972-10-01T00:00:00Z",
+ "value": 810
+ }, {
+ "timestamp": "1972-11-01T00:00:00Z",
+ "value": 766
+ }, {
+ "timestamp": "1972-12-01T00:00:00Z",
+ "value": 805
+ }, {
+ "timestamp": "1973-01-01T00:00:00Z",
+ "value": 821
+ }, {
+ "timestamp": "1973-02-01T00:00:00Z",
+ "value": 773
+ }, {
+ "timestamp": "1973-03-01T00:00:00Z",
+ "value": 883
+ }, {
+ "timestamp": "1973-04-01T00:00:00Z",
+ "value": 898
+ }, {
+ "timestamp": "1973-05-01T00:00:00Z",
+ "value": 957
+ }, {
+ "timestamp": "1973-06-01T00:00:00Z",
+ "value": 924
+ }, {
+ "timestamp": "1973-07-01T00:00:00Z",
+ "value": 881
+ }, {
+ "timestamp": "1973-08-01T00:00:00Z",
+ "value": 837
+ }, {
+ "timestamp": "1973-09-01T00:00:00Z",
+ "value": 784
+ }, {
+ "timestamp": "1973-10-01T00:00:00Z",
+ "value": 791
+ }, {
+ "timestamp": "1973-11-01T00:00:00Z",
+ "value": 760
+ }, {
+ "timestamp": "1973-12-01T00:00:00Z",
+ "value": 802
+ }, {
+ "timestamp": "1974-01-01T00:00:00Z",
+ "value": 828
+ }, {
+ "timestamp": "1974-02-01T00:00:00Z",
+ "value": 1030
+ }, {
+ "timestamp": "1974-03-01T00:00:00Z",
+ "value": 889
+ }, {
+ "timestamp": "1974-04-01T00:00:00Z",
+ "value": 902
+ }, {
+ "timestamp": "1974-05-01T00:00:00Z",
+ "value": 969
+ }, {
+ "timestamp": "1974-06-01T00:00:00Z",
+ "value": 947
+ }, {
+ "timestamp": "1974-07-01T00:00:00Z",
+ "value": 908
+ }, {
+ "timestamp": "1974-08-01T00:00:00Z",
+ "value": 867
+ }, {
+ "timestamp": "1974-09-01T00:00:00Z",
+ "value": 815
+ }, {
+ "timestamp": "1974-10-01T00:00:00Z",
+ "value": 812
+ }, {
+ "timestamp": "1974-11-01T00:00:00Z",
+ "value": 773
+ }, {
+ "timestamp": "1974-12-01T00:00:00Z",
+ "value": 813
+ }, {
+ "timestamp": "1975-01-01T00:00:00Z",
+ "value": 834
+ }, {
+ "timestamp": "1975-02-01T00:00:00Z",
+ "value": 782
+ }, {
+ "timestamp": "1975-03-01T00:00:00Z",
+ "value": 892
+ }, {
+ "timestamp": "1975-04-01T00:00:00Z",
+ "value": 903
+ }, {
+ "timestamp": "1975-05-01T00:00:00Z",
+ "value": 966
+ }, {
+ "timestamp": "1975-06-01T00:00:00Z",
+ "value": 937
+ }, {
+ "timestamp": "1975-07-01T00:00:00Z",
+ "value": 896
+ }, {
+ "timestamp": "1975-08-01T00:00:00Z",
+ "value": 858
+ }, {
+ "timestamp": "1975-09-01T00:00:00Z",
+ "value": 817
+ }, {
+ "timestamp": "1975-10-01T00:00:00Z",
+ "value": 827
+ }, {
+ "timestamp": "1975-11-01T00:00:00Z",
+ "value": 797
+ }, {
+ "timestamp": "1975-12-01T00:00:00Z",
+ "value": 843
+ }
+ ],
+ "maxAnomalyRatio": 0.25,
+ "sensitivity": 95,
+ "granularity": "monthly"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isNegativeAnomaly": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "expectedValues": [
+ 827.79409082439679,
+ 798.91337746719273,
+ 888.60584318071892,
+ 900.5606407986661,
+ 962.83894263783043,
+ 933.25916063069542,
+ 891.07841047996658,
+ 856.17816013636968,
+ 809.89872279089411,
+ 807.375129007505,
+ 764.31966824485175,
+ 803.933498594564,
+ 823.59006208830579,
+ 794.09056413342876,
+ 883.164245249282,
+ 894.84190006909535,
+ 956.84305911012575,
+ 927.62850551901136,
+ 885.812983784303,
+ 851.6424797402517,
+ 806.0927886943216,
+ 804.68268153120289,
+ 762.74070738882,
+ 804.0251702513732,
+ 825.35236625795585,
+ 798.04041887249764,
+ 889.30165055776979,
+ 902.4226124345937,
+ 965.867078532635,
+ 937.32004957366951,
+ 896.17205247111019,
+ 862.00873684136559,
+ 816.46623420974231,
+ 814.42977455247092,
+ 771.8614479159354,
+ 811.859271346729,
+ 831.89982792155206,
+ 802.947544797165,
+ 892.56844074350829,
+ 904.54882145338092,
+ 966.85270638447071,
+ 937.31683910030426,
+ 895.180003672544,
+ 860.36495963566347,
+ 814.17072859690427,
+ 811.9054862686213,
+ 769.10837696107421,
+ 809.23280846597038
+ ],
+ "isPositiveAnomaly": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ],
+ "lowerMargins": [
+ 41.389704541219835,
+ 39.945668873359637,
+ 44.430292159035943,
+ 45.028032039933308,
+ 48.14194713189152,
+ 46.662958031534771,
+ 44.553920523998329,
+ 42.808908006818484,
+ 40.494936139544706,
+ 40.368756450375251,
+ 38.215983412242586,
+ 40.196674929728196,
+ 41.179503104415289,
+ 39.704528206671441,
+ 44.1582122624641,
+ 44.742095003454772,
+ 47.842152955506293,
+ 46.381425275950569,
+ 44.290649189215145,
+ 42.582123987012579,
+ 40.30463943471608,
+ 40.234134076560146,
+ 38.137035369441,
+ 40.201258512568664,
+ 41.267618312897795,
+ 39.902020943624883,
+ 44.465082527888491,
+ 45.121130621729684,
+ 48.293353926631752,
+ 46.866002478683477,
+ 44.808602623555508,
+ 43.100436842068284,
+ 40.823311710487111,
+ 40.721488727623544,
+ 38.593072395796774,
+ 40.592963567336447,
+ 41.5949913960776,
+ 40.147377239858251,
+ 44.628422037175412,
+ 45.227441072669045,
+ 48.34263531922354,
+ 46.865841955015213,
+ 44.759000183627194,
+ 43.018247981783169,
+ 40.708536429845211,
+ 40.595274313431062,
+ 38.455418848053711,
+ 40.461640423298519
+ ],
+ "period": 12,
+ "upperMargins": [
+ 41.389704541219835,
+ 39.945668873359637,
+ 44.430292159035943,
+ 45.028032039933308,
+ 48.14194713189152,
+ 46.662958031534771,
+ 44.553920523998329,
+ 42.808908006818484,
+ 40.494936139544706,
+ 40.368756450375251,
+ 38.215983412242586,
+ 40.196674929728196,
+ 41.179503104415289,
+ 39.704528206671441,
+ 44.1582122624641,
+ 44.742095003454772,
+ 47.842152955506293,
+ 46.381425275950569,
+ 44.290649189215145,
+ 42.582123987012579,
+ 40.30463943471608,
+ 40.234134076560146,
+ 38.137035369441,
+ 40.201258512568664,
+ 41.267618312897795,
+ 39.902020943624883,
+ 44.465082527888491,
+ 45.121130621729684,
+ 48.293353926631752,
+ 46.866002478683477,
+ 44.808602623555508,
+ 43.100436842068284,
+ 40.823311710487111,
+ 40.721488727623544,
+ 38.593072395796774,
+ 40.592963567336447,
+ 41.5949913960776,
+ 40.147377239858251,
+ 44.628422037175412,
+ 45.227441072669045,
+ 48.34263531922354,
+ 46.865841955015213,
+ 44.759000183627194,
+ 43.018247981783169,
+ 40.708536429845211,
+ 40.595274313431062,
+ 38.455418848053711,
+ 40.461640423298519
+ ],
+ "isAnomaly": [
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ true,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/LastDetect.json b/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/LastDetect.json
new file mode 100644
index 000000000000..fa1ec66d78d3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/AnomalyFinder/stable/v2.0/examples/LastDetect.json
@@ -0,0 +1,172 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "series": [ {
+ "timestamp": "1972-01-01T00:00:00Z",
+ "value": 826
+ }, {
+ "timestamp": "1972-02-01T00:00:00Z",
+ "value": 799
+ }, {
+ "timestamp": "1972-03-01T00:00:00Z",
+ "value": 890
+ }, {
+ "timestamp": "1972-04-01T00:00:00Z",
+ "value": 900
+ }, {
+ "timestamp": "1972-05-01T00:00:00Z",
+ "value": 961
+ }, {
+ "timestamp": "1972-06-01T00:00:00Z",
+ "value": 935
+ }, {
+ "timestamp": "1972-07-01T00:00:00Z",
+ "value": 894
+ }, {
+ "timestamp": "1972-08-01T00:00:00Z",
+ "value": 855
+ }, {
+ "timestamp": "1972-09-01T00:00:00Z",
+ "value": 809
+ }, {
+ "timestamp": "1972-10-01T00:00:00Z",
+ "value": 810
+ }, {
+ "timestamp": "1972-11-01T00:00:00Z",
+ "value": 766
+ }, {
+ "timestamp": "1972-12-01T00:00:00Z",
+ "value": 805
+ }, {
+ "timestamp": "1973-01-01T00:00:00Z",
+ "value": 821
+ }, {
+ "timestamp": "1973-02-01T00:00:00Z",
+ "value": 773
+ }, {
+ "timestamp": "1973-03-01T00:00:00Z",
+ "value": 883
+ }, {
+ "timestamp": "1973-04-01T00:00:00Z",
+ "value": 898
+ }, {
+ "timestamp": "1973-05-01T00:00:00Z",
+ "value": 957
+ }, {
+ "timestamp": "1973-06-01T00:00:00Z",
+ "value": 924
+ }, {
+ "timestamp": "1973-07-01T00:00:00Z",
+ "value": 881
+ }, {
+ "timestamp": "1973-08-01T00:00:00Z",
+ "value": 837
+ }, {
+ "timestamp": "1973-09-01T00:00:00Z",
+ "value": 784
+ }, {
+ "timestamp": "1973-10-01T00:00:00Z",
+ "value": 791
+ }, {
+ "timestamp": "1973-11-01T00:00:00Z",
+ "value": 760
+ }, {
+ "timestamp": "1973-12-01T00:00:00Z",
+ "value": 802
+ }, {
+ "timestamp": "1974-01-01T00:00:00Z",
+ "value": 828
+ }, {
+ "timestamp": "1974-02-01T00:00:00Z",
+ "value": 1030
+ }, {
+ "timestamp": "1974-03-01T00:00:00Z",
+ "value": 889
+ }, {
+ "timestamp": "1974-04-01T00:00:00Z",
+ "value": 902
+ }, {
+ "timestamp": "1974-05-01T00:00:00Z",
+ "value": 969
+ }, {
+ "timestamp": "1974-06-01T00:00:00Z",
+ "value": 947
+ }, {
+ "timestamp": "1974-07-01T00:00:00Z",
+ "value": 908
+ }, {
+ "timestamp": "1974-08-01T00:00:00Z",
+ "value": 867
+ }, {
+ "timestamp": "1974-09-01T00:00:00Z",
+ "value": 815
+ }, {
+ "timestamp": "1974-10-01T00:00:00Z",
+ "value": 812
+ }, {
+ "timestamp": "1974-11-01T00:00:00Z",
+ "value": 773
+ }, {
+ "timestamp": "1974-12-01T00:00:00Z",
+ "value": 813
+ }, {
+ "timestamp": "1975-01-01T00:00:00Z",
+ "value": 834
+ }, {
+ "timestamp": "1975-02-01T00:00:00Z",
+ "value": 782
+ }, {
+ "timestamp": "1975-03-01T00:00:00Z",
+ "value": 892
+ }, {
+ "timestamp": "1975-04-01T00:00:00Z",
+ "value": 903
+ }, {
+ "timestamp": "1975-05-01T00:00:00Z",
+ "value": 966
+ }, {
+ "timestamp": "1975-06-01T00:00:00Z",
+ "value": 937
+ }, {
+ "timestamp": "1975-07-01T00:00:00Z",
+ "value": 896
+ }, {
+ "timestamp": "1975-08-01T00:00:00Z",
+ "value": 858
+ }, {
+ "timestamp": "1975-09-01T00:00:00Z",
+ "value": 817
+ }, {
+ "timestamp": "1975-10-01T00:00:00Z",
+ "value": 827
+ }, {
+ "timestamp": "1975-11-01T00:00:00Z",
+ "value": 797
+ }, {
+ "timestamp": "1975-12-01T00:00:00Z",
+ "value": 843
+ }
+ ],
+ "maxAnomalyRatio": 0.25,
+ "sensitivity": 95,
+ "granularity": "monthly"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isAnomaly": false,
+ "isPositiveAnomaly": false,
+ "isNegativeAnomaly": false,
+ "period": 12,
+ "expectedValue": 809.23280846597038,
+ "upperMargin": 40.461640423298519,
+ "lowerMargin": 40.461640423298519,
+ "suggestedWindow": 49
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/ComputerVision.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/ComputerVision.json
index 7be89405de6a..a457c748970e 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/ComputerVision.json
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/ComputerVision.json
@@ -494,6 +494,14 @@
},
"x-nullable": true
},
+ "brands": {
+ "description": "Array of brands detected in the image.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetectedBrand"
+ },
+ "x-nullable": true
+ },
"requestId": {
"description": "Id of the REST API request.",
"type": "string",
@@ -715,6 +723,31 @@
},
"x-nullable": true
},
+ "DetectedBrand": {
+ "description": "A brand detected in an image.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Label for the brand.",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "confidence": {
+ "format": "double",
+ "description": "Confidence score of having observed the brand in the image, as a value ranging from 0 to 1.",
+ "type": "number",
+ "readOnly": true,
+ "x-nullable": false
+ },
+ "rectangle": {
+ "$ref": "#/definitions/BoundingRect",
+ "description": "Approximate location of the detected brand.",
+ "readOnly": true
+ }
+ },
+ "x-nullable": true
+ },
"ImageMetadata": {
"description": "Image metadata.",
"type": "object",
@@ -1335,7 +1368,7 @@
"VisualFeatures": {
"name": "visualFeatures",
"in": "query",
- "description": "A string indicating what visual feature types to return. Multiple values should be comma-separated. Valid visual feature types include: Categories - categorizes image content according to a taxonomy defined in documentation. Tags - tags the image with a detailed list of words related to the image content. Description - describes the image content with a complete English sentence. Faces - detects if faces are present. If present, generate coordinates, gender and age. ImageType - detects if image is clipart or a line drawing. Color - determines the accent color, dominant color, and whether an image is black&white. Adult - detects if the image is pornographic in nature (depicts nudity or a sex act). Sexually suggestive content is also detected. Objects - detects various objects within an image, including the approximate location. The Objects argument is only available in English.",
+ "description": "A string indicating what visual feature types to return. Multiple values should be comma-separated. Valid visual feature types include: Categories - categorizes image content according to a taxonomy defined in documentation. Tags - tags the image with a detailed list of words related to the image content. Description - describes the image content with a complete English sentence. Faces - detects if faces are present. If present, generate coordinates, gender and age. ImageType - detects if image is clipart or a line drawing. Color - determines the accent color, dominant color, and whether an image is black&white. Adult - detects if the image is pornographic in nature (depicts nudity or a sex act). Sexually suggestive content is also detected. Objects - detects various objects within an image, including the approximate location. The Objects argument is only available in English. Brands - detects various brands within an image, including the approximate location. The Brands argument is only available in English.",
"required": false,
"type": "array",
"items": {
@@ -1348,7 +1381,8 @@
"Color",
"Tags",
"Description",
- "Objects"
+ "Objects",
+ "Brands"
],
"x-nullable": false,
"x-ms-enum": {
@@ -1758,4 +1792,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/Ocr.json
index b1fc20f55143..83f602b55430 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/Ocr.json
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/Ocr.json
@@ -110,6 +110,85 @@
}
}
}
+ },
+ "/read/core/asyncBatchAnalyze": {
+ "post": {
+ "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read File interface, the response contains a field called \"Operation-Location\". The \"Operation-Location\" field contains the URL that you must use for your \"Read Operation Result\" operation to access OCR results.",
+ "operationId": "BatchReadFile",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageUrl"
+ },
+ {
+ "$ref": "#/parameters/TextRecognitionMode"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Domain Model analysis request": {
+ "$ref": "./examples/SuccessfulBatchReadFileWithUrl.json"
+ }
+ }
+ }
+ },
+ "/read/operations/{operationId}": {
+ "get": {
+ "description": "This interface is used for getting OCR results of Read operation. The URL to this interface should be retrieved from \"Operation-Location\" field returned from Batch Read File interface.",
+ "operationId": "GetReadOperationResult",
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Id of read operation returned in the response of the \"Batch Read File\" interface.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the read operation status.",
+ "schema": {
+ "$ref": "#/definitions/ReadOperationResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Domain Model analysis request": {
+ "$ref": "./examples/SuccessfulReadOperationResult.json"
+ }
+ }
+ }
}
},
"x-ms-paths": {
@@ -154,36 +233,135 @@
}
}
}
+ },
+ "/read/core/asyncBatchAnalyze?overload=stream": {
+ "post": {
+ "description": "Use this interface to get the result of a Read Document operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read Document interface, the response contains a field called \"Operation-Location\". The \"Operation-Location\" field contains the URL that you must use for your \"Get Read Result operation\" to access OCR results.",
+ "operationId": "BatchReadFileInStream",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ImageStream"
+ },
+ {
+ "$ref": "#/parameters/TextRecognitionMode"
+ }
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Domain Model analysis request": {
+ "$ref": "./examples/SuccessfulBatchReadFileWithStream.json"
+ }
+ }
+ }
}
},
"definitions": {
"TextOperationResult": {
"type": "object",
+ "description": "Result of recognition text operation.",
"properties": {
"status": {
- "type": "string",
"description": "Status of the text operation.",
- "enum": [
- "Not Started",
- "Running",
- "Failed",
- "Succeeded"
- ],
- "x-ms-enum": {
- "name": "TextOperationStatusCodes",
- "modelAsString": false
- },
- "x-nullable": false
+ "$ref": "#/definitions/OperationStatus"
},
"recognitionResult": {
- "$ref": "#/definitions/RecognitionResult"
+ "$ref": "#/definitions/TextRecognitionResult",
+ "description": "Text recognition result of the text operation."
}
}
},
- "RecognitionResult": {
+ "ReadOperationResult": {
"type": "object",
+ "description": "OCR result of the read operation.",
"properties": {
+ "status": {
+ "description": "Status of the read operation.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "recognitionResults": {
+ "description": "A array of text recognition result of the read operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextRecognitionResult"
+ }
+ }
+ }
+ },
+ "OperationStatus": {
+ "type": "string",
+ "description": "Status code of the text operation.",
+ "enum": [
+ "Not Started",
+ "Running",
+ "Failed",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "TextOperationStatusCodes",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "TextRecognitionResult": {
+ "description": "Json object representing a recognized text region",
+ "type": "object",
+ "required": [
+ "lines"
+ ],
+ "properties": {
+ "page": {
+ "description": "The 1-based page number of the recognition result.",
+ "type": "integer"
+ },
+ "clockwiseOrientation": {
+ "description": "The orientation of the image in degrees in the clockwise direction. Range between [0, 360).",
+ "type": "number"
+ },
+ "width": {
+ "description": "The width of the image in pixels or the PDF in inches.",
+ "type": "number"
+ },
+ "height": {
+ "description": "The height of the image in pixels or the PDF in inches.",
+ "type": "number"
+ },
+ "unit": {
+ "description": "The unit used in the Width, Height and BoundingBox. For images, the unit is \"pixel\". For PDF, the unit is \"inch\".",
+ "type": "string",
+ "enum": [
+ "pixel",
+ "inch"
+ ],
+ "x-ms-enum": {
+ "name": "TextRecognitionResultDimensionUnit",
+ "modelAsString": false
+ },
+ "x-nullable": true
+ },
"lines": {
+ "description": "A list of recognized text lines.",
"type": "array",
"items": {
"$ref": "#/definitions/Line"
@@ -192,15 +370,19 @@
}
},
"Line": {
+ "description": "Json object representing a recognized text line.",
"type": "object",
"properties": {
"boundingBox": {
+ "description": "Bounding box of a recognized line.",
"$ref": "#/definitions/BoundingBox"
},
"text": {
+ "description": "The text content of the line.",
"type": "string"
},
"words": {
+ "description": "List of words in the text line.",
"type": "array",
"items": {
"$ref": "#/definitions/Word"
@@ -209,17 +391,38 @@
}
},
"Word": {
+ "description": "Json object representing a recognized word.",
"type": "object",
+ "required": [
+ "boundingBox",
+ "text"
+ ],
"properties": {
"boundingBox": {
+ "description": "Bounding box of a recognized word.",
"$ref": "#/definitions/BoundingBox"
},
"text": {
+ "description": "The text content of the word.",
"type": "string"
+ },
+ "confidence": {
+ "description": "Qualitative confidence measure.",
+ "type": "string",
+ "enum": [
+ "High",
+ "Low"
+ ],
+ "x-ms-enum": {
+ "name": "TextRecognitionResultConfidenceClass",
+ "modelAsString": false
+ },
+ "x-nullable": true
}
}
},
"BoundingBox": {
+ "description": "Quadrangle bounding box, with coordinates in original image. The eight numbers represent the four points (x-coordinate, y-coordinate from the left-top corner of the image) of the detected rectangle from the left-top corner in the clockwise direction. For images, coordinates are in pixels. For PDF, coordinates are in inches.",
"type": "array",
"items": {
"type": "integer",
@@ -334,4 +537,4 @@
"x-ms-skip-url-encoding": true
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulAnalyzeImageWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulAnalyzeImageWithStream.json
index 25563786840a..179147d658af 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulAnalyzeImageWithStream.json
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulAnalyzeImageWithStream.json
@@ -2,7 +2,7 @@
"parameters": {
"Endpoint": "https://westus.api.cognitive.microsoft.com",
"Ocp-Apim-Subscription-Key": "{API key}",
- "visualFeatures": ["Categories", "Adult", "Tags", "Description", "Faces", "Color", "ImageType", "Objects"],
+ "visualFeatures": ["Categories", "Adult", "Tags", "Description", "Faces", "Color", "ImageType", "Objects", "Brands"],
"details": ["Celebrities", "Landmarks"],
"language": "en",
"Image": "{binary}"
@@ -132,6 +132,28 @@
"confidence": 0.95
}
}
+ ],
+ "brands": [
+ {
+ "name": "Pepsi",
+ "confidence": 0.857,
+ "rectangle": {
+ "x": 489,
+ "y": 79,
+ "w": 161,
+ "h": 177
+ }
+ },
+ {
+ "name": "Coca-Cola",
+ "confidence": 0.893,
+ "rectangle": {
+ "x": 216,
+ "y": 55,
+ "w": 171,
+ "h": 372
+ }
+ }
]
}
}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulAnalyzeImageWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulAnalyzeImageWithUrl.json
index 8bd63c44fe61..8339de31d4b5 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulAnalyzeImageWithUrl.json
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulAnalyzeImageWithUrl.json
@@ -2,7 +2,7 @@
"parameters": {
"Endpoint": "https://westus.api.cognitive.microsoft.com",
"Ocp-Apim-Subscription-Key": "{API key}",
- "visualFeatures": ["Categories", "Adult", "Tags", "Description", "Faces", "Color", "ImageType", "Objects"],
+ "visualFeatures": ["Categories", "Adult", "Tags", "Description", "Faces", "Color", "ImageType", "Objects", "Brands"],
"details": ["Celebrities", "Landmarks"],
"language": "en",
"ImageUrl": "{url}"
@@ -138,6 +138,28 @@
"confidence": 0.95
}
}
+ ],
+ "brands": [
+ {
+ "name": "Pepsi",
+ "confidence": 0.857,
+ "rectangle": {
+ "x": 489,
+ "y": 79,
+ "w": 161,
+ "h": 177
+ }
+ },
+ {
+ "name": "Coca-Cola",
+ "confidence": 0.893,
+ "rectangle": {
+ "x": 216,
+ "y": 55,
+ "w": 171,
+ "h": 372
+ }
+ }
]
}
}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulBatchReadFileWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulBatchReadFileWithStream.json
new file mode 100644
index 000000000000..1cc9911c0d5d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulBatchReadFileWithStream.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "mode": "Printed",
+ "Image": "{binary}"
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "Operation-Location": "https://{domain}/vision/v2.0/getReadResult/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulBatchReadFileWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulBatchReadFileWithUrl.json
new file mode 100644
index 000000000000..a63e7ad443db
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulBatchReadFileWithUrl.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "mode": "Printed",
+ "ImageUrl": "{url}"
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "Operation-Location": "https://{domain}/vision/v2.0/getReadResult/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulReadOperationResult.json b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulReadOperationResult.json
new file mode 100644
index 000000000000..71d2f06b58ed
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/stable/v2.0/examples/SuccessfulReadOperationResult.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "operationId": "e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "status": "Succeeded",
+ "recognitionResults": [
+ {
+ "page": 1,
+ "clockwiseOrientation": 349.59,
+ "width": 600,
+ "height": 400,
+ "unit": "pixel",
+ "lines": [
+ {
+ "boundingBox": [202, 618, 2047, 643, 2046, 840, 200, 813],
+ "text": "Our greatest glory is not",
+ "words": [
+ {
+ "boundingBox": [204, 627, 481, 628, 481, 830, 204, 829],
+ "text": "Our"
+ },
+ {
+ "boundingBox": [519, 628, 1057, 630, 1057, 832, 518, 830],
+ "text": "greatest"
+ },
+ {
+ "boundingBox": [1114, 630, 1549, 631, 1548, 833, 1114, 832],
+ "text": "glory"
+ },
+ {
+ "boundingBox": [1586, 631, 1785, 632, 1784, 834, 1586, 833],
+ "text": "is"
+ },
+ {
+ "boundingBox": [1822, 632, 2115, 633, 2115, 835, 1822, 834],
+ "text": "not"
+ }
+ ]
+ },
+ {
+ "boundingBox": [420, 1273, 2954, 1250, 2958, 1488, 422, 1511],
+ "text": "but in rising every time we fall",
+ "words": [
+ {
+ "boundingBox": [423, 1269, 634, 1268, 635, 1507, 424, 1508],
+ "text": "but"
+ },
+ {
+ "boundingBox": [667, 1268, 808, 1268, 809, 1506, 668, 1507],
+ "text": "in"
+ },
+ {
+ "boundingBox": [874, 1267, 1289, 1265, 1290, 1504, 875, 1506],
+ "text": "rising"
+ },
+ {
+ "boundingBox": [1331, 1265, 1771, 1263, 1772, 1502, 1332, 1504],
+ "text": "every"
+ },
+ {
+ "boundingBox": [1812, 1263, 2178, 1261, 2179, 1500, 1813, 1502],
+ "text": "time"
+ },
+ {
+ "boundingBox": [2219, 1261, 2510, 1260, 2511, 1498, 2220, 1500],
+ "text": "we"
+ },
+ {
+ "boundingBox": [2551, 1260, 3016, 1258, 3017, 1496, 2552, 1498],
+ "text": "fall"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "page": 2,
+ "clockwiseOrientation": 1.32,
+ "width": 600,
+ "height": 400,
+ "unit": "pixel",
+ "lines": [
+ {
+ "boundingBox": [1612, 903, 2744, 935, 2738, 1139, 1607, 1107],
+ "text": "in never failing ,",
+ "words": [
+ {
+ "boundingBox": [1611, 934, 1707, 933, 1708, 1147, 1613, 1147],
+ "text": "in"
+ },
+ {
+ "boundingBox": [1753, 933, 2132, 930, 2133, 1144, 1754, 1146],
+ "text": "never"
+ },
+ {
+ "boundingBox": [2162, 930, 2673, 927, 2674, 1140, 2164, 1144],
+ "text": "failing"
+ },
+ {
+ "boundingBox": [2703, 926, 2788, 926, 2790, 1139, 2705, 1140],
+ "text": ",",
+ "confidence": "Low"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/ContentModerator/readme.md b/specification/cognitiveservices/data-plane/ContentModerator/readme.md
index da130b7701fe..738da2295573 100644
--- a/specification/cognitiveservices/data-plane/ContentModerator/readme.md
+++ b/specification/cognitiveservices/data-plane/ContentModerator/readme.md
@@ -49,7 +49,7 @@ swagger-to-sdk:
These settings apply only when `--csharp` is specified on the command line.
``` yaml $(csharp)
csharp:
- namespace: Microsoft.CognitiveServices.ContentModerator
+ namespace: Microsoft.Azure.CognitiveServices.ContentModerator
output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/Vision/ContentModerator/ContentModerator/Generated
```
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 f90629180b8b..58529e6d0b1f 100644
--- a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
@@ -2128,6 +2128,278 @@
}
}
}
+ },
+ "/snapshots": {
+ "post": {
+ "description": "Submit an operation to take a snapshot of face list, large face list, person group or large person group, with user-specified snapshot type, source object id, apply scope and an optional user data. \nThe snapshot interfaces are for users to backup and restore their face data from one face subscription to another, inside same region or across regions. The workflow contains two phases, user first calls Snapshot - Take to create a copy of the source object and store it as a snapshot, then calls Snapshot - Apply to paste the snapshot to target subscription. The snapshots are stored in a centralized location (per Azure instance), so that they can be applied cross accounts and regions. \nTaking snapshot is an asynchronous operation. An operation id can be obtained from the \"Operation-Location\" field in response header, to be used in OperationStatus - Get for tracking the progress of creating the snapshot. The snapshot id will be included in the \"resourceLocation\" field in OperationStatus - Get response when the operation status is \"succeeded\". \nSnapshot taking time depends on the number of person and face entries in the source object. It could be in seconds, or up to several hours for 1,000,000 persons with multiple faces. \nSnapshots will be automatically expired and cleaned in 48 hours after it is created by Snapshot - Take. User can delete the snapshot using Snapshot - Delete by themselves any time before expiration. \nTaking snapshot for a certain object will not block any other operations against the object. All read-only operations (Get/List and Identify/FindSimilar/Verify) can be conducted as usual. For all writable operations, including Add/Update/Delete the source object or its persons/faces and Train, they are not blocked but not recommended because writable updates may not be reflected on the snapshot during its taking. After snapshot taking is completed, all readable and writable operations can work as normal. Snapshot will also include the training results of the source object, which means target subscription the snapshot applied to does not need re-train the target object before calling Identify/FindSimilar. \n* Free-tier subscription quota: 100 take operations per month.\n* S0-tier subscription quota: 100 take operations per day.",
+ "operationId": "Snapshot_Take",
+ "parameters": [
+ {
+ "name": "body",
+ "description": "Request body for taking a snapshot.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/TakeSnapshotRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The snapshot taking task was queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of taking snapshot. The returned id is the operation id, rather than snapshot id. Snapshot id can be obtained only when the operation status becomes \"succeeded\" in OperationStatus - Get.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Take a snapshot example": {
+ "$ref": "./examples/TakeSnapshot.json"
+ }
+ }
+ },
+ "get": {
+ "description": "List all accessible snapshots with related information, including snapshots that were taken by the user, or snapshots to be applied to the user (subscription id was included in the applyScope in Snapshot - Take).",
+ "operationId": "Snapshot_List",
+ "parameters": [
+ {
+ "name": "type",
+ "description": "User specified object type as a search filter.",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SnapshotObjectType",
+ "modelAsString": false
+ },
+ "enum": [
+ "FaceList",
+ "LargeFaceList",
+ "LargePersonGroup",
+ "PersonGroup"
+ ]
+ },
+ {
+ "$ref": "#/parameters/applyScope"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an array of snapshots with snapshot information.",
+ "schema": {
+ "$ref": "#/definitions/Snapshots"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "List snapshots example": {
+ "$ref": "./examples/ListSnapshots.json"
+ }
+ }
+ }
+ },
+ "/snapshots/{snapshotId}": {
+ "get": {
+ "description": "Retrieve information about a snapshot. Snapshot is only accessible to the source subscription who took it, and target subscriptions included in the applyScope in Snapshot - Take.",
+ "operationId": "Snapshot_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/snapshotId"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the snapshot's information.",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get snapshot example": {
+ "$ref": "./examples/GetSnapshot.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Update the information of a snapshot. Only the source subscription who took the snapshot can update the snapshot.",
+ "operationId": "Snapshot_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/snapshotId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for updating a snapshot.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateSnapshotRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update snapshot example": {
+ "$ref": "./examples/UpdateSnapshot.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete an existing snapshot according to the snapshotId. All object data and information in the snapshot will also be deleted. Only the source subscription who took the snapshot can delete the snapshot. If the user does not delete a snapshot with this API, the snapshot will still be automatically deleted in 48 hours after creation.",
+ "operationId": "Snapshot_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/snapshotId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns an empty response body."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete snapshot example": {
+ "$ref": "./examples/DeleteSnapshot.json"
+ }
+ }
+ }
+ },
+ "/snapshots/{snapshotId}/apply": {
+ "post": {
+ "description": "Submit an operation to apply a snapshot to current subscription. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it. \nThe snapshot interfaces are for users to backup and restore their face data from one face subscription to another, inside same region or across regions. The workflow contains two phases, user first calls Snapshot - Take to create a copy of the source object and store it as a snapshot, then calls Snapshot - Apply to paste the snapshot to target subscription. The snapshots are stored in a centralized location (per Azure instance), so that they can be applied cross accounts and regions. \nApplying snapshot is an asynchronous operation. An operation id can be obtained from the \"Operation-Location\" field in response header, to be used in OperationStatus - Get for tracking the progress of applying the snapshot. The target object id will be included in the \"resourceLocation\" field in OperationStatus - Get response when the operation status is \"succeeded\". \nSnapshot applying time depends on the number of person and face entries in the snapshot object. It could be in seconds, or up to 1 hour for 1,000,000 persons with multiple faces. \nSnapshots will be automatically expired and cleaned in 48 hours after it is created by Snapshot - Take. So the target subscription is required to apply the snapshot in 48 hours since its creation. \nApplying a snapshot will not block any other operations against the target object, however it is not recommended because the correctness cannot be guaranteed during snapshot applying. After snapshot applying is completed, all operations towards the target object can work as normal. Snapshot also includes the training results of the source object, which means target subscription the snapshot applied to does not need re-train the target object before calling Identify/FindSimilar. \nOne snapshot can be applied multiple times in parallel, while currently only CreateNew apply mode is supported, which means the apply operation will fail if target subscription already contains an object of same type and using the same objectId. Users can specify the \"objectId\" in request body to avoid such conflicts. \n* Free-tier subscription quota: 100 apply operations per month.\n* S0-tier subscription quota: 100 apply operations per day.",
+ "operationId": "Snapshot_Apply",
+ "parameters": [
+ {
+ "$ref": "#/parameters/snapshotId"
+ },
+ {
+ "name": "body",
+ "description": "Request body for applying a snapshot.",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/ApplySnapshotRequest"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The snapshot applying task was queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "description": "Operation location with an operation id used to track the progress of applying the snapshot by OperationStatus - Get.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Apply snapshot example": {
+ "$ref": "./examples/ApplySnapshot.json"
+ }
+ }
+ }
+ },
+ "/operations/{operationId}": {
+ "get": {
+ "description": "Retrieve the status of a take/apply snapshot operation.",
+ "operationId": "Snapshot_GetOperationStatus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/operationId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call returns the snapshot operation's status.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/APIError"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Get snapshot operation status example": {
+ "$ref": "./examples/GetSnapshotOperationStatus.json"
+ }
+ }
+ }
}
},
"x-ms-paths": {
@@ -2618,8 +2890,7 @@
},
"enum": [
"male",
- "female",
- "genderless"
+ "female"
]
},
"smile": {
@@ -2970,7 +3241,7 @@
},
"faceListId": {
"type": "string",
- "description": "An existing user-specified unique candidate face list, created in Face List - Create a Face List. Face list contains a set of persistedFaceIds which are persisted and will never expire. Parameter faceListId, largeFaceListId and faceIds should not be provided at the same time。",
+ "description": "An existing user-specified unique candidate face list, created in Face List - Create a Face List. Face list contains a set of persistedFaceIds which are persisted and will never expire. Parameter faceListId, largeFaceListId and faceIds should not be provided at the same time.",
"maxLength": 64,
"pattern": "^[a-z0-9-_]+$"
},
@@ -3506,6 +3777,203 @@
"maxLength": 16384
}
}
+ },
+ "ApplyScope": {
+ "type": "array",
+ "description": "Array of the target Face subscription ids for the snapshot, specified by the user who created the snapshot when calling Snapshot - Take. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ },
+ "ApplySnapshotRequest": {
+ "type": "object",
+ "required": [
+ "objectId"
+ ],
+ "description": "Request body for applying snapshot operation.",
+ "properties": {
+ "objectId": {
+ "type": "string",
+ "description": "User specified target object id to be created from the snapshot.",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "mode": {
+ "type": "string",
+ "description": "Snapshot applying mode. Currently only CreateNew is supported, which means the apply operation will fail if target subscription already contains an object of same type and using the same objectId. Users can specify the \"objectId\" in request body to avoid such conflicts.",
+ "default": "CreateNew",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "SnapshotApplyMode",
+ "modelAsString": false
+ },
+ "enum": [
+ "CreateNew"
+ ]
+ }
+ }
+ },
+ "Snapshots": {
+ "type": "array",
+ "description": "An array of snapshots.",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "Snapshot": {
+ "type": "object",
+ "required": [
+ "id",
+ "account",
+ "type",
+ "applyScope",
+ "createdTime",
+ "lastUpdateTime"
+ ],
+ "description": "Snapshot object.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Snapshot id."
+ },
+ "account": {
+ "type": "string",
+ "description": "Azure Cognitive Service Face account id of the subscriber who created the snapshot by Snapshot - Take."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the source object in the snapshot, specified by the subscriber who created the snapshot when calling Snapshot - Take. Currently FaceList, PersonGroup, LargeFaceList and LargePersonGroup are supported.",
+ "x-ms-enum": {
+ "name": "SnapshotObjectType",
+ "modelAsString": false
+ },
+ "enum": [
+ "FaceList",
+ "LargeFaceList",
+ "LargePersonGroup",
+ "PersonGroup"
+ ]
+ },
+ "applyScope": {
+ "description": "Array of the target Face subscription ids for the snapshot, specified by the user who created the snapshot when calling Snapshot - Take. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.",
+ "$ref": "#/definitions/ApplyScope"
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data about the snapshot for any purpose. Length should not exceed 16KB.",
+ "maxLength": 16384
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the created time of the snapshot. E.g. 2018-12-25T11:41:02.2331413Z."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the last time when the snapshot was created or updated by Snapshot - Update. E.g. 2018-12-25T11:51:27.8705696Z."
+ }
+ }
+ },
+ "TakeSnapshotRequest": {
+ "type": "object",
+ "required": [
+ "type",
+ "objectId",
+ "applyScope"
+ ],
+ "description": "Request body for taking snapshot operation.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "User specified type for the source object to take snapshot from. Currently FaceList, PersonGroup, LargeFaceList and LargePersonGroup are supported.",
+ "x-ms-enum": {
+ "name": "SnapshotObjectType",
+ "modelAsString": false
+ },
+ "enum": [
+ "FaceList",
+ "LargeFaceList",
+ "LargePersonGroup",
+ "PersonGroup"
+ ]
+ },
+ "objectId": {
+ "type": "string",
+ "description": "User specified source object id to take snapshot from.",
+ "maxLength": 64,
+ "pattern": "^[a-z0-9-_]+$"
+ },
+ "applyScope": {
+ "description": "User specified array of target Face subscription ids for the snapshot. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.",
+ "$ref": "#/definitions/ApplyScope"
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data about the snapshot for any purpose. Length should not exceed 16KB.",
+ "maxLength": 16384
+ }
+ }
+ },
+ "UpdateSnapshotRequest": {
+ "type": "object",
+ "description": "Request body for updating a snapshot, with a combination of user defined apply scope and user specified data.",
+ "properties": {
+ "applyScope": {
+ "description": "Array of the target Face subscription ids for the snapshot, specified by the user who created the snapshot when calling Snapshot - Take. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.",
+ "$ref": "#/definitions/ApplyScope"
+ },
+ "userData": {
+ "type": "string",
+ "description": "User specified data about the snapshot for any purpose. Length should not exceed 16KB.",
+ "maxLength": 16384
+ }
+ }
+ },
+ "OperationStatus": {
+ "type": "object",
+ "required": [
+ "status",
+ "createdTime"
+ ],
+ "description": "Operation status object. Operation refers to the asynchronous backend task including taking a snapshot and applying a snapshot.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Operation status: notstarted, running, succeeded, failed. If the operation is requested and waiting to perform, the status is notstarted. If the operation is ongoing in backend, the status is running. Status succeeded means the operation is completed successfully, specifically for snapshot taking operation, it illustrates the snapshot is well taken and ready to apply, and for snapshot applying operation, it presents the target object has finished creating by the snapshot and ready to be used. Status failed is often caused by editing the source object while taking the snapshot or editing the target object while applying the snapshot before completion, see the field \"message\" to check the failure reason.",
+ "x-ms-enum": {
+ "name": "OperationStatusType",
+ "modelAsString": false
+ },
+ "enum": [
+ "notstarted",
+ "running",
+ "succeeded",
+ "failed"
+ ]
+ },
+ "createdTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the time when the operation (take or apply a snapshot) is requested. E.g. 2018-12-25T11:41:02.2331413Z."
+ },
+ "lastActionTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "A combined UTC date and time string that describes the last time the operation (take or apply a snapshot) is actively migrating data. The lastActionTime will keep increasing until the operation finishes. E.g. 2018-12-25T11:51:27.8705696Z."
+ },
+ "resourceLocation": {
+ "type": "string",
+ "description": "When the operation succeeds successfully, for snapshot taking operation the snapshot id will be included in this field, and for snapshot applying operation, the path to get the target object will be returned in this field."
+ },
+ "message": {
+ "type": "string",
+ "description": "Show failure message when operation fails (omitted when operation succeeds)."
+ }
+ }
}
},
"parameters": {
@@ -3632,6 +4100,40 @@
"x-ms-parameter-location": "method",
"collectionFormat": "csv"
},
+ "applyScope": {
+ "name": "applyScope",
+ "description": "User specified snapshot apply scopes as a search filter. ApplyScope is an array of the target Azure subscription ids for the snapshot, specified by the user who created the snapshot by Snapshot - Take.",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ }
+ },
+ "operationId": {
+ "name": "operationId",
+ "in": "path",
+ "description": "Id referencing a particular take/apply snapshot operation.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv"
+ },
+ "snapshotId": {
+ "name": "snapshotId",
+ "in": "path",
+ "description": "Id referencing a particular snapshot.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method",
+ "collectionFormat": "csv"
+ },
"Endpoint": {
"name": "Endpoint",
"description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/ApplySnapshot.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/ApplySnapshot.json
new file mode 100644
index 000000000000..66e530f04bfa
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/ApplySnapshot.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "snapshotId": "e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "body": {
+ "objectId": "target-face-list-id",
+ "mode": "CreateNew"
+ }
+ },
+ "responses": {
+ "202": {
+ "body": "",
+ "header": {
+ "Operation-Location": "/operations/84276574-2a2a-4540-a1b0-f65d834d225b"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/DeleteSnapshot.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/DeleteSnapshot.json
new file mode 100644
index 000000000000..01f8f2da709f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/DeleteSnapshot.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "snapshotId": "e58b3f08-1e8b-4165-81df-aa9858f233dc"
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetSnapshot.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetSnapshot.json
new file mode 100644
index 000000000000..82e187ceea3a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetSnapshot.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "snapshotId": "e58b3f08-1e8b-4165-81df-aa9858f233dc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "account": "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/TestRG/providers/Microsoft.CognitiveServices/accounts/FaceTest01",
+ "type": "FaceList",
+ "applyScope": [
+ "35230F59-AA9C-45E0-AB5E-C859BF1A5429",
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot.",
+ "createdTime": "2018-12-25T11:41:02.2331413Z",
+ "lastUpdateTime": "2018-12-25T11:51:27.8705696Z"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetSnapshotOperationStatus.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetSnapshotOperationStatus.json
new file mode 100644
index 000000000000..43ad82a03af2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/GetSnapshotOperationStatus.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "operationId": "a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdTime": "2018-12-25T11:41:02.2331413Z",
+ "lastActionTime": "2018-12-25T11:51:27.8705696Z",
+ "resourceLocation": "/snapshots/e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "message": null
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/ListSnapshots.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/ListSnapshots.json
new file mode 100644
index 000000000000..80df82bea131
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/ListSnapshots.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "type": "FaceList",
+ "applyScope": [
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "account": "/subscriptions/f9b96b36-1f5e-4021-8959-51527e26e6d3/resourceGroups/TestRG/providers/Microsoft.CognitiveServices/accounts/FaceTest01",
+ "type": "FaceList",
+ "applyScope": [
+ "35230F59-AA9C-45E0-AB5E-C859BF1A5429",
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot1.",
+ "createdTime": "2018-12-25T11:41:02.2331413Z",
+ "lastUpdateTime": "2018-12-25T11:51:27.8705696Z"
+ },
+ {
+ "id": "a61e61e4-c3d1-4d33-8ae8-676e6104757d",
+ "account": "/subscriptions/6622996e-0149-4b22-9703-4216dc948d52/resourceGroups/TestRG/providers/Microsoft.CognitiveServices/accounts/FaceTest01",
+ "type": "FaceList",
+ "applyScope": [
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot2.",
+ "createdTime": "2018-12-29T17:09:32.3298483Z",
+ "lastUpdateTime": "2018-12-29T17:14:34.5645877Z"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/TakeSnapshot.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/TakeSnapshot.json
new file mode 100644
index 000000000000..d00242c7deda
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/TakeSnapshot.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "type": "FaceList",
+ "objectId": "source-face-list-id",
+ "applyScope": [
+ "35230F59-AA9C-45E0-AB5E-C859BF1A5429",
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot."
+ }
+ },
+ "responses": {
+ "202": {
+ "body": "",
+ "header": {
+ "Operation-Location": "/operations/a63a3bdd-a1db-4d05-87b8-dbad6850062a"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/UpdateSnapshot.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/UpdateSnapshot.json
new file mode 100644
index 000000000000..4c9e69a30e76
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/examples/UpdateSnapshot.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "snapshotId": "e58b3f08-1e8b-4165-81df-aa9858f233dc",
+ "body": {
+ "applyScope": [
+ "64084E07-9B7F-4A98-BEA4-9986D3A1EDEB"
+ ],
+ "userData": "User-provided data attached to the snapshot."
+ }
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/LUIS-Authoring.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/LUIS-Authoring.json
index 3aaaf2bf0dcd..4ba876584a09 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/LUIS-Authoring.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/LUIS-Authoring.json
@@ -792,7 +792,7 @@
},
"/apps/{appId}/versions/{versionId}/entities": {
"post": {
- "description": "Adds an entity extractor to the application.",
+ "description": "Adds a simple entity extractor to the application.",
"operationId": "Model_AddEntity",
"parameters": [
{
@@ -808,7 +808,7 @@
"schema": {
"$ref": "#/definitions/ModelCreateObject"
},
- "description": "A model object containing the name for the new entity extractor."
+ "description": "A model object containing the name for the new simple entity extractor."
}
],
"consumes": [
@@ -2719,6 +2719,9 @@
"parameters": [
{
"$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/ForcePath"
}
],
"responses": {
@@ -2815,7 +2818,13 @@
],
"responses": {
"201": {
- "description": "An object containing the application endpoint URL and its assigned endpoint key.",
+ "description": "An object containing the application endpoint URL, its assigned endpoint key and publishing status.",
+ "schema": {
+ "$ref": "#/definitions/ProductionOrStagingEndpointInfo"
+ }
+ },
+ "207": {
+ "description": "An object containing the application endpoint URL, its assigned endpoint key and publishing status in case that publishing one or more regions failed.",
"schema": {
"$ref": "#/definitions/ProductionOrStagingEndpointInfo"
}
@@ -7557,8 +7566,247 @@
}
}
}
+ },
+ "/apps/{appId}/azureaccounts": {
+ "post": {
+ "description": "Assigns an azure account to the application.",
+ "operationId": "AzureAccounts_AssignToApp",
+ "summary": "apps - Assign a LUIS azure account to an application",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/BearerAuthPath"
+ },
+ {
+ "name": "azureAccountInfoObject",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/AzureAccountInfoObject"
+ },
+ "description": "The azure account information object."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "201": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Assign azure account request": {
+ "$ref": "./examples/stats/SuccessfulAssignAzureAccountRequest.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Gets the LUIS azure accounts assigned to the application for the user using his ARM token.",
+ "operationId": "AzureAccounts_GetAssigned",
+ "summary": "apps - Get LUIS azure accounts assigned to the application",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/BearerAuthPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of azure account information objects.",
+ "schema": {
+ "$ref": "#/definitions/AzureAccountInfoList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get assigned azure accounts request": {
+ "$ref": "./examples/stats/SuccessfulGetAssignedAzureAccountsRequest.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Removes assigned azure account from the application.",
+ "operationId": "AzureAccounts_RemoveFromApp",
+ "summary": "apps - Removes an assigned LUIS azure account from an application",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/BearerAuthPath"
+ },
+ {
+ "name": "azureAccountInfoObject",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/AzureAccountInfoObject"
+ },
+ "description": "The azure account information object."
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/OperationStatus"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful delete assigned azure account request": {
+ "$ref": "./examples/stats/SuccessfulDeleteAssignedAzureAccountRequest.json"
+ }
+ }
+ }
+ },
+ "/azureaccounts": {
+ "get": {
+ "description": "Gets the LUIS azure accounts for the user using his ARM token.",
+ "operationId": "AzureAccounts_GetUserLUISAccounts",
+ "summary": "user - Get LUIS azure accounts",
+ "parameters": [
+ {
+ "$ref": "#/parameters/BearerAuthPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list of azure account information objects.",
+ "schema": {
+ "$ref": "#/definitions/AzureAccountInfoList"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get azure accounts request": {
+ "$ref": "./examples/stats/SuccessfulGetAzureAccountsRequest.json"
+ }
+ }
+ }
+ },
+ "/package/{appId}/slot/{slotName}/gzip": {
+ "get": {
+ "description": "Packages published LUIS application as GZip.",
+ "operationId": "Apps_PackagePublishedApplicationAsGzip",
+ "summary": "package - Gets published LUIS application package in binary stream GZip format",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/SlotNameInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The GZip binary stream of the published application package.",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/octet-stream",
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get published application package request": {
+ "$ref": "./examples/package/SuccessfulGetTrainedApplicationPackageRequest.json"
+ }
+ }
+ }
+ },
+ "/package/{appId}/versions/{versionId}/gzip": {
+ "get": {
+ "description": "Packages trained LUIS application as GZip.",
+ "operationId": "Apps_PackageTrainedApplicationAsGzip",
+ "summary": "package - Gets trained LUIS application package in binary stream GZip format",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AppIdInPath"
+ },
+ {
+ "$ref": "#/parameters/VersionIdInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The GZip binary stream of the trained application package.",
+ "schema": {
+ "type": "file"
+ }
+ },
+ "default": {
+ "description": "Error Response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/octet-stream",
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "Successful Get published application package request": {
+ "$ref": "./examples/package/SuccessfulGetPublishedApplicationPackageRequest.json"
+ }
+ }
+ }
}
- },
+ },
"definitions": {
"EntityLabelObject": {
"description": "Defines the entity type and position of the extracted entity within the example.",
@@ -9113,6 +9361,10 @@
"type": "string",
"description": "The endpoint's region."
},
+ "failedRegions": {
+ "type": "string",
+ "description": "Regions where publishing failed."
+ },
"publishedDateTime": {
"description": "Timestamp when was last published.",
"type": "string"
@@ -9818,6 +10070,36 @@
"type": "string"
}
}
+ },
+ "AzureAccountInfoList": {
+ "description": "List of Azure account info objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureAccountInfoObject"
+ }
+ },
+ "AzureAccountInfoObject": {
+ "description": "Defines the azure account information object.",
+ "type": "object",
+ "required": [
+ "azureSubscriptionId",
+ "resourceGroup",
+ "accountName"
+ ],
+ "properties": {
+ "azureSubscriptionId": {
+ "description": "The id for the azure subscription.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The azure resource group name.",
+ "type": "string"
+ },
+ "accountName": {
+ "description": "The azure account name.",
+ "type": "string"
+ }
+ }
}
},
"parameters": {
@@ -9865,6 +10147,15 @@
"format": "uuid",
"x-ms-parameter-location": "method"
},
+ "SlotNameInPath": {
+ "name": "slotName",
+ "in": "path",
+ "description": "The publishing slot name.",
+ "required": true,
+ "type": "string",
+ "format": "uuid",
+ "x-ms-parameter-location": "method"
+ },
"SkipInPath": {
"name": "skip",
"in": "query",
@@ -9884,6 +10175,14 @@
"maximum": 500,
"x-ms-parameter-location": "method"
},
+ "ForcePath": {
+ "name": "force",
+ "in": "query",
+ "description": "A flag to indicate whether to force an operation.",
+ "type": "boolean",
+ "default": false,
+ "x-ms-parameter-location": "method"
+ },
"Endpoint": {
"name": "Endpoint",
"description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
@@ -9892,6 +10191,14 @@
"type": "string",
"in": "path",
"x-ms-skip-url-encoding": true
+ },
+ "BearerAuthPath": {
+ "name": "Authorization",
+ "in": "header",
+ "description": "The bearer authorization header to use; containing the user's ARM token used to validate azure accounts information.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
}
}
}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulGetApplicationsListRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulGetApplicationsListRequest.json
index 659303dd2529..744f4a6a0761 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulGetApplicationsListRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulGetApplicationsListRequest.json
@@ -2,8 +2,8 @@
"parameters": {
"Endpoint": "{Endpoint}",
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "skip": "0",
- "take": "100"
+ "skip": 0,
+ "take": 100
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json
index b9d787b9955d..76486525b275 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json
@@ -15,7 +15,19 @@
"isStaging": false,
"endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18",
"assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18",
- "endpointRegion": "westus",
+ "endpointRegion": "westus, cus",
+ "failedRegions": null,
+ "publishedDateTime": "2017-11-28T19:20:28Z"
+ }
+ },
+ "207": {
+ "headers": {},
+ "body": {
+ "isStaging": false,
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18",
+ "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18",
+ "endpointRegion": "westus, cus",
+ "failedRegions": "cus",
"publishedDateTime": "2017-11-28T19:20:28Z"
}
}
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
index 09d25fc6e33c..7d56d186c9c7 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
@@ -4,8 +4,8 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "11be6373fca44ded80fbe2afa8597c18",
"versionId": "0.1",
- "skip": "0",
- "take": "100"
+ "skip": 0,
+ "take": 100
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionEntityInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionEntityInfosRequest.json
index f7a2e8f98daa..707b47439571 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionEntityInfosRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionEntityInfosRequest.json
@@ -4,8 +4,8 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
"versionId": "0.1",
- "skip": "0",
- "take": "100"
+ "skip": 0,
+ "take": 100
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionIntentInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionIntentInfosRequest.json
index 78e48042ff47..b55418948e40 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionIntentInfosRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionIntentInfosRequest.json
@@ -4,8 +4,8 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
"versionId": "0.1",
- "skip": "0",
- "take": "100"
+ "skip": 0,
+ "take": 100
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionModelInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionModelInfosRequest.json
index ea7dc2e12b97..b2e2ab6e98d2 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionModelInfosRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionModelInfosRequest.json
@@ -4,8 +4,8 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
"versionId": "0.1",
- "skip": "0",
- "take": "100"
+ "skip": 0,
+ "take": 100
},
"responses": {
"200": {
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionPrebuiltInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionPrebuiltInfosRequest.json
index 2a779a7dfb41..6171e22c816d 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionPrebuiltInfosRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionPrebuiltInfosRequest.json
@@ -4,8 +4,8 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
"versionId": "0.1",
- "skip": "0",
- "take": "100"
+ "skip": 0,
+ "take": 100
},
"responses":{
"200":{
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetAvailablePrebuiltEntityExtractorsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetAvailablePrebuiltEntityExtractorsRequest.json
index e060917a2803..0bf1713a13b6 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetAvailablePrebuiltEntityExtractorsRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetAvailablePrebuiltEntityExtractorsRequest.json
@@ -4,8 +4,8 @@
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "86226c53-b7a6-416f-876b-226b2b5ab07b",
"versionId": "0.1",
- "skip": "0",
- "take": "100"
+ "skip": 0,
+ "take": 100
},
"responses":{
"200":{
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/package/SuccessfulGetPublishedApplicationPackageRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/package/SuccessfulGetPublishedApplicationPackageRequest.json
new file mode 100644
index 000000000000..c701c5345510
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/package/SuccessfulGetPublishedApplicationPackageRequest.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Content-Type": "application/octet-stream",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1",
+ "slotName": "PRODUCTION"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "{binary}"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/package/SuccessfulGetTrainedApplicationPackageRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/package/SuccessfulGetTrainedApplicationPackageRequest.json
new file mode 100644
index 000000000000..c701c5345510
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/package/SuccessfulGetTrainedApplicationPackageRequest.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "Content-Type": "application/octet-stream",
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "versionId": "0.1",
+ "slotName": "PRODUCTION"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": "{binary}"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulAssignAzureAccountRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulAssignAzureAccountRequest.json
new file mode 100644
index 000000000000..2c2f32084f6c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulAssignAzureAccountRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "Authorization": "Bearer {ARM Token}",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "azureAccountInfoObject": {
+ "azureSubscriptionId": "{azure_subscription_id}",
+ "resourceGroup": "{resource_group_name}",
+ "accountName": "{account_name}"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulDeleteAssignedAzureAccountRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulDeleteAssignedAzureAccountRequest.json
new file mode 100644
index 000000000000..eaf53e9db08a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulDeleteAssignedAzureAccountRequest.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "Authorization": "Bearer {ARM Token}",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "azureAccountInfoObject": {
+ "azureSubscriptionId": "{azure_subscription_id}",
+ "resourceGroup": "{resource_group_name}",
+ "accountName": "{account_name}"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "code": "Success",
+ "message": "Operation Successful"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulGetAssignedAzureAccountsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulGetAssignedAzureAccountsRequest.json
new file mode 100644
index 000000000000..381711d3245b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulGetAssignedAzureAccountsRequest.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
+ "Authorization": "Bearer {ARM Token}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "azureSubscriptionId": "{azure_subscription_id}",
+ "resourceGroup": "{resource_group_name}",
+ "accountName": "{account_name}"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulGetAzureAccountsRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulGetAzureAccountsRequest.json
new file mode 100644
index 000000000000..d5bd3b4b00ee
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/stats/SuccessfulGetAzureAccountsRequest.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
+ "Authorization": "Bearer {ARM Token}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "azureSubscriptionId": "{azure_subscription_id}",
+ "resourceGroup": "{resource_group_name}",
+ "accountName": "{account_name}"
+ }
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/versions/SuccessfulGetApplicationVersionsInfoRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/versions/SuccessfulGetApplicationVersionsInfoRequest.json
index adc76b3779b9..aae2f0736d6b 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/versions/SuccessfulGetApplicationVersionsInfoRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/versions/SuccessfulGetApplicationVersionsInfoRequest.json
@@ -3,8 +3,8 @@
"Endpoint": "{Endpoint}",
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
"appId": "363187f1-c573-46b3-bc4c-ae01d686e68e",
- "skip": "0",
- "take": "100"
+ "skip": 0,
+ "take": 100
},
"responses": {
"200": {
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 63aef12d1da8..36bbf757be65 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
@@ -238,6 +238,9 @@
},
"sentimentAnalysis": {
"$ref": "#/definitions/Sentiment"
+ },
+ "connectedServiceResult": {
+ "$ref": "#/definitions/LuisResult"
}
}
},
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.md
index 46c348f2d021..3b34d948675f 100644
--- a/specification/cognitiveservices/data-plane/QnAMaker/readme.md
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.md
@@ -53,30 +53,7 @@ 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:
- license-header: MICROSOFT_MIT_NO_VERSION
- add-credentials: true
- payload-flattening-threshold: 2
- namespace: azure.cognitiveservices.knowledge.qnamaker
- package-name: azure-cognitiveservices-knowledge-qnamaker
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-cognitiveservices-qnamaker/azure/cognitiveservices/knowledge/qnamaker
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-cognitiveservices-knowledge-qnamaker
-```
+See configuration in [readme.python.md](./readme.python.md)
## Go
diff --git a/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md b/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md
new file mode 100644
index 000000000000..ef14d552823a
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/QnAMaker/readme.python.md
@@ -0,0 +1,26 @@
+## 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
+ add-credentials: true
+ payload-flattening-threshold: 2
+ namespace: azure.cognitiveservices.knowledge.qnamaker
+ package-name: azure-cognitiveservices-knowledge-qnamaker
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-knowledge-qnamaker/azure/cognitiveservices/knowledge/qnamaker
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-knowledge-qnamaker
+```
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v2.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v2.1/TextAnalytics.json
index b5b5b3c7b662..34c7948655ea 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v2.1/TextAnalytics.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v2.1/TextAnalytics.json
@@ -595,4 +595,4 @@
"x-ms-skip-url-encoding": true
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
index 3a4d6c8d4cac..b8650961b9ad 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
@@ -1,7 +1,7 @@
# Cognitive Services Language SDK
The Cognitive Service Language SDK has support for the Text Analytics Cognitive Service.
-While this repository contains the [Autorest](https://aka.ms/autorest) generated SDK, the easiest way to consume the SDK is by installing the Nuget package for it.
+While this repository contains the [Autorest](https://aka.ms/autorest) generated SDK, the easiest way to consume the SDK is by installing the NuGet package for it.
Note that the Cognitive Services Language SDK is simply a wrapper on top of the Text Analytics Cognitive service. As such, it will generate calls to the Azure service.
@@ -11,12 +11,12 @@ You must have a [Cognitive Services API account](https://docs.microsoft.com/azur
You must also have the [endpoint and access key](../How-tos/text-analytics-how-to-access-key.md) that was generated for you during sign up.
-## Installing the Nuget SDK Package
+## Installing the NuGet SDK Package
1. Create a new Console solution in Visual Studio.
1. Right click on the solution and click **Manage NuGet Packages for Solution**
1. Mark the **Include Prerelease** checkbox.
1. Select the **Browse** tab, and Search for **Microsoft.Azure.CognitiveServices.Language**
-1. Select the Nuget package and install it.
+1. Select the NuGet package and install it.
## Calling the Text Analytics API using the SDK
The following code snippets show to consume the SDK. Note that you will need to replace `client.SubscriptionKey` with the key you received when you signed up and `client.AzureRegion` with the region you signed up for.
@@ -131,11 +131,20 @@ input-file: stable/v2.0/TextAnalytics.json
log-file: logs/log.txt
```
-### Release 2.1-Preview
+### Release 2.1
These settings apply only when `--tag=release_2_1` is specified on the command line.
``` yaml $(tag) == 'release_2_1'
+input-file: stable/v2.1/TextAnalytics.json
+log-file: logs/log.txt
+```
+
+### Release 2.1-Preview
+
+These settings apply only when `--tag=release_2_1_preview` is specified on the command line.
+
+``` yaml $(tag) == 'release_2_1_preview'
input-file: preview/v2.1/TextAnalytics.json
log-file: logs/log.txt
```
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json
new file mode 100644
index 000000000000..6f399f0d2990
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/TextAnalytics.json
@@ -0,0 +1,716 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v2.1",
+ "contact": {
+ "name": "Microsoft Cognitive Services",
+ "url": "https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/",
+ "email": "mlapi@microsoft.com"
+ },
+ "title": "Text Analytics Client",
+ "description": "The Text Analytics API is a suite of text analytics web services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. No training data is needed to use this API; just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/text/analytics/v2.1",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/languages": {
+ "post": {
+ "tags": [
+ "Detect Language"
+ ],
+ "description": "Scores close to 1 indicate 100% certainty that the identified language is true. A total of 120 languages are supported.",
+ "operationId": "Detect Language",
+ "summary": "The API returns the detected language and a numeric score between 0 and 1.",
+ "parameters": [
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean"
+ },
+ {
+ "name": "languageBatchInput",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/LanguageBatchInput"
+ },
+ "description": "Collection of documents to analyze."
+ }
+ ],
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in the detected language with the highest probability for each valid document",
+ "schema": {
+ "$ref": "#/definitions/LanguageBatchResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulLanguagesRequest.json"
+ }
+ },
+ "deprecated": false,
+ "produces": [
+ "application/json",
+ "text/json"
+ ]
+ }
+ },
+ "/entities": {
+ "post": {
+ "tags": [
+ "Entities"
+ ],
+ "description": "To get even more information on each recognized entity we recommend using the Bing Entity Search API by querying for the recognized entities names. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "Entities",
+ "summary": "The API returns a list of recognized entities in a given document.",
+ "parameters": [
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean"
+ },
+ {
+ "name": "multiLanguageBatchInput",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ },
+ "description": "Collection of documents to analyze."
+ }
+ ],
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/EntitiesBatchResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulEntitiesRequest.json"
+ }
+ },
+ "deprecated": false,
+ "produces": [
+ "application/json",
+ "text/json"
+ ]
+ }
+ },
+ "/keyPhrases": {
+ "post": {
+ "tags": [
+ "Key Phrases"
+ ],
+ "description": "See the Text Analytics Documentation for details about the languages that are supported by key phrase extraction.",
+ "operationId": "Key Phrases",
+ "summary": "The API returns a list of strings denoting the key talking points in the input text.",
+ "parameters": [
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean"
+ },
+ {
+ "name": "multiLanguageBatchInput",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ },
+ "description": "Collection of documents to analyze. Documents can now contain a language field to indicate the text language"
+ }
+ ],
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response results in 0 or more key phrases identified in each valid document",
+ "schema": {
+ "$ref": "#/definitions/KeyPhraseBatchResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulKeyPhrasesRequest.json"
+ }
+ },
+ "deprecated": false,
+ "produces": [
+ "application/json",
+ "text/json"
+ ]
+ }
+ },
+ "/sentiment": {
+ "post": {
+ "tags": [
+ "Sentiment"
+ ],
+ "description": "Scores close to 1 indicate positive sentiment, while scores close to 0 indicate negative sentiment. A score of 0.5 indicates the lack of sentiment (e.g. a factoid statement). See the Text Analytics Documentation for details about the languages that are supported by sentiment analysis.",
+ "operationId": "Sentiment",
+ "summary": "The API returns a numeric score between 0 and 1.",
+ "parameters": [
+ {
+ "name": "showStats",
+ "in": "query",
+ "description": "(optional) if set to true, response will contain input and document level statistics.",
+ "type": "boolean"
+ },
+ {
+ "name": "multiLanguageBatchInput",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ },
+ "description": "Collection of documents to analyze."
+ }
+ ],
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in each valid document getting a sentiment score between 0 and 1",
+ "schema": {
+ "$ref": "#/definitions/SentimentBatchResult"
+ }
+ },
+ "500": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulSentimentRequest.json"
+ }
+ },
+ "deprecated": false,
+ "produces": [
+ "application/json",
+ "text/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "MultiLanguageBatchInput": {
+ "type": "object",
+ "properties": {
+ "documents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MultiLanguageInput"
+ }
+ }
+ },
+ "example": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Hello world. This is some input text that I love."
+ },
+ {
+ "language": "fr",
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "language": "es",
+ "id": "3",
+ "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
+ }
+ ]
+ }
+ },
+ "MultiLanguageInput": {
+ "type": "object",
+ "properties": {
+ "language": {
+ "description": "This is the 2 letter ISO 639-1 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc.,",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique, non-empty document identifier.",
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ }
+ },
+ "Object": {
+ "type": "object",
+ "properties": {}
+ },
+ "EntitiesBatchResult": {
+ "type": "object",
+ "properties": {
+ "documents": {
+ "description": "Response by document",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntitiesBatchResultItem"
+ },
+ "readOnly": true
+ },
+ "errors": {
+ "description": "Errors and Warnings by document",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorRecord"
+ },
+ "readOnly": true
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics",
+ "description": "(Optional) if showStats=true was specified in the request this field will contain information about the request payload.",
+ "readOnly": true
+ }
+ }
+ },
+ "EntitiesBatchResultItem": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique, non-empty document identifier.",
+ "type": "string"
+ },
+ "entities": {
+ "description": "Recognized entities in the document.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityRecord"
+ },
+ "readOnly": true
+ },
+ "statistics": {
+ "$ref": "#/definitions/DocumentStatistics",
+ "description": "(Optional) if showStats=true was specified in the request this field will contain information about the document payload."
+ }
+ }
+ },
+ "ErrorRecord": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Input document unique identifier the error refers to.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ }
+ }
+ },
+ "RequestStatistics": {
+ "type": "object",
+ "properties": {
+ "documentsCount": {
+ "format": "int32",
+ "description": "Number of documents submitted in the request.",
+ "type": "integer"
+ },
+ "validDocumentsCount": {
+ "format": "int32",
+ "description": "Number of valid documents. This excludes empty, over-size limit or non-supported languages documents.",
+ "type": "integer"
+ },
+ "erroneousDocumentsCount": {
+ "format": "int32",
+ "description": "Number of invalid documents. This includes empty, over-size limit or non-supported languages documents.",
+ "type": "integer"
+ },
+ "transactionsCount": {
+ "format": "int64",
+ "description": "Number of transactions for the request.",
+ "type": "integer"
+ }
+ }
+ },
+ "EntityRecord": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Entity formal name.",
+ "type": "string"
+ },
+ "matches": {
+ "description": "List of instances this entity appears in the text.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchRecord"
+ }
+ },
+ "wikipediaLanguage": {
+ "description": "Wikipedia language for which the WikipediaId and WikipediaUrl refers to.",
+ "type": "string"
+ },
+ "wikipediaId": {
+ "description": "Wikipedia unique identifier of the recognized entity.",
+ "type": "string"
+ },
+ "wikipediaUrl": {
+ "description": "URL for the entity's Wikipedia page.",
+ "type": "string",
+ "readOnly": true
+ },
+ "bingId": {
+ "description": "Bing unique identifier of the recognized entity. Use in conjunction with the Bing Entity Search API to fetch additional relevant information.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Entity type from Named Entity Recognition model",
+ "type": "string"
+ },
+ "subType": {
+ "description": "Entity sub type from Named Entity Recognition model",
+ "type": "string"
+ }
+ }
+ },
+ "DocumentStatistics": {
+ "type": "object",
+ "properties": {
+ "charactersCount": {
+ "format": "int32",
+ "description": "Number of text elements recognized in the document.",
+ "type": "integer"
+ },
+ "transactionsCount": {
+ "format": "int32",
+ "description": "Number of transactions for the document.",
+ "type": "integer"
+ }
+ }
+ },
+ "MatchRecord": {
+ "type": "object",
+ "properties": {
+ "wikipediaScore": {
+ "format": "double",
+ "description": "(optional) If a well-known item with Wikipedia link is recognized, a decimal number denoting the confidence level of the Wikipedia info will be returned.",
+ "type": "number"
+ },
+ "entityTypeScore": {
+ "format": "double",
+ "description": "(optional) If an entity type is recognized, a decimal number denoting the confidence level of the entity type will be returned.",
+ "type": "number"
+ },
+ "text": {
+ "description": "Entity text as appears in the request.",
+ "type": "string"
+ },
+ "offset": {
+ "format": "int32",
+ "description": "Start position (in Unicode characters) for the entity match text.",
+ "type": "integer"
+ },
+ "length": {
+ "format": "int32",
+ "description": "Length (in Unicode characters) for the entity match text.",
+ "type": "integer"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "target": {
+ "type": "string"
+ },
+ "innerError": {
+ "$ref": "#/definitions/InternalError"
+ }
+ }
+ },
+ "InternalError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "innerError": {
+ "$ref": "#/definitions/InternalError"
+ }
+ }
+ },
+ "KeyPhraseBatchResult": {
+ "type": "object",
+ "properties": {
+ "documents": {
+ "description": "Response by document",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyPhraseBatchResultItem"
+ },
+ "readOnly": true
+ },
+ "errors": {
+ "description": "Errors and Warnings by document",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorRecord"
+ },
+ "readOnly": true
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics",
+ "description": "=(Optional) if showStats=true was specified in the request this field will contain information about the request payload.",
+ "readOnly": true
+ }
+ }
+ },
+ "KeyPhraseBatchResultItem": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique, non-empty document identifier.",
+ "type": "string"
+ },
+ "keyPhrases": {
+ "description": "A list of representative words or phrases. The number of key phrases returned is proportional to the number of words in the input document.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "statistics": {
+ "$ref": "#/definitions/DocumentStatistics",
+ "description": "(Optional) if showStats=true was specified in the request this field will contain information about the document payload."
+ }
+ }
+ },
+ "LanguageBatchInput": {
+ "type": "object",
+ "properties": {
+ "documents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageInput"
+ }
+ }
+ },
+ "example": {
+ "documents": [
+ {
+ "countryHint": "en",
+ "id": "1",
+ "text": "Hello world. This is some input text that I love."
+ },
+ {
+ "countryHint": "fr",
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "countryHint": "es",
+ "id": "3",
+ "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
+ }
+ ]
+ }
+ },
+ "LanguageInput": {
+ "type": "object",
+ "properties": {
+ "countryHint": {
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique, non-empty document identifier.",
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ }
+ }
+ },
+ "LanguageBatchResult": {
+ "type": "object",
+ "properties": {
+ "documents": {
+ "description": "Response by document",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageBatchResultItem"
+ },
+ "readOnly": true
+ },
+ "errors": {
+ "description": "Errors and Warnings by document",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorRecord"
+ },
+ "readOnly": true
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics",
+ "description": "(Optional) if showStats=true was specified in the request this field will contain information about the request payload.",
+ "readOnly": true
+ }
+ }
+ },
+ "LanguageBatchResultItem": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique, non-empty document identifier.",
+ "type": "string"
+ },
+ "detectedLanguages": {
+ "description": "A list of extracted languages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetectedLanguage"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/DocumentStatistics",
+ "description": "(Optional) if showStats=true was specified in the request this field will contain information about the document payload."
+ }
+ }
+ },
+ "DetectedLanguage": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Long name of a detected language (e.g. English, French).",
+ "type": "string"
+ },
+ "iso6391Name": {
+ "description": "A two letter representation of the detected language according to the ISO 639-1 standard (e.g. en, fr).",
+ "type": "string"
+ },
+ "score": {
+ "format": "double",
+ "description": "A confidence score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true.",
+ "type": "number"
+ }
+ }
+ },
+ "SentimentBatchResult": {
+ "type": "object",
+ "properties": {
+ "documents": {
+ "description": "Response by document",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SentimentBatchResultItem"
+ },
+ "readOnly": true
+ },
+ "errors": {
+ "description": "Errors and Warnings by document",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorRecord"
+ },
+ "readOnly": true
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics",
+ "description": "(Optional) if showStats=true was specified in the request this field will contain information about the request payload.",
+ "readOnly": true
+ }
+ }
+ },
+ "SentimentBatchResultItem": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique, non-empty document identifier.",
+ "type": "string"
+ },
+ "score": {
+ "format": "double",
+ "description": "A decimal number between 0 and 1 denoting the sentiment of the document. A score above 0.7 usually refers to a positive document while a score below 0.3 normally has a negative connotation. Mid values refer to neutral text.",
+ "type": "number"
+ },
+ "statistics": {
+ "$ref": "#/definitions/DocumentStatistics",
+ "description": "(Optional) if showStats=true was specified in the request this field will contain information about the document payload."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulEntitiesRequest.json
new file mode 100644
index 000000000000..421eee8e23ed
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulEntitiesRequest.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Microsoft released Windows 10"
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "In 1975, Bill Gates III and Paul Allen founded the company."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "name": "Microsoft",
+ "matches": [
+ {
+ "wikipediaScore": 0.12508682244047509,
+ "entityTypeScore": 0.99999618530273438,
+ "text": "Microsoft",
+ "offset": 0,
+ "length": 9
+ }
+ ],
+ "wikipediaLanguage": "en",
+ "wikipediaId": "Microsoft",
+ "wikipediaUrl": "https://en.wikipedia.org/wiki/Microsoft",
+ "bingId": "a093e9b9-90f5-a3d5-c4b8-5855e1b01f85",
+ "type": "Organization"
+ },
+ {
+ "name": "Windows 10",
+ "matches": [
+ {
+ "wikipediaScore": 0.35750355694656766,
+ "text": "Windows 10",
+ "offset": 19,
+ "length": 10
+ }
+ ],
+ "wikipediaLanguage": "en",
+ "wikipediaId": "Windows 10",
+ "wikipediaUrl": "https://en.wikipedia.org/wiki/Windows_10",
+ "bingId": "5f9fbd03-49c4-39ef-cc95-de83ab897b94"
+ }
+ ]
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "name": "1975",
+ "matches": [
+ {
+ "entityTypeScore": 0.8,
+ "text": "1975",
+ "offset": 3,
+ "length": 4
+ }
+ ],
+ "type": "DateTime",
+ "subType": "DateRange"
+ },
+ {
+ "name": "Bill Gates",
+ "matches": [
+ {
+ "wikipediaScore": 0.84403697401993427,
+ "entityTypeScore": 0.99642062187194824,
+ "text": "Bill Gates III",
+ "offset": 9,
+ "length": 14
+ }
+ ],
+ "wikipediaLanguage": "en",
+ "wikipediaId": "Bill Gates",
+ "wikipediaUrl": "https://en.wikipedia.org/wiki/Bill_Gates",
+ "bingId": "0d47c987-0042-5576-15e8-97af601614fa",
+ "type": "Person"
+ },
+ {
+ "name": "Paul Allen",
+ "matches": [
+ {
+ "wikipediaScore": 0.41878879328253582,
+ "entityTypeScore": 0.99664866924285889,
+ "text": "Paul Allen",
+ "offset": 28,
+ "length": 10
+ }
+ ],
+ "wikipediaLanguage": "en",
+ "wikipediaId": "Paul Allen",
+ "wikipediaUrl": "https://en.wikipedia.org/wiki/Paul_Allen",
+ "bingId": "df2c4376-9923-6a54-893f-2ee5a5badbc7",
+ "type": "Person"
+ }
+ ]
+ }
+ ],
+ "errors": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulKeyPhrasesRequest.json
new file mode 100644
index 000000000000..2c79c9965846
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulKeyPhrasesRequest.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "text": "If this demo doesn't work I will be super sad",
+ "language": "en"
+ },
+ {
+ "id": "2",
+ "text": "Español es muy difícil de aprender",
+ "language": "es"
+ },
+ {
+ "id": "3",
+ "text": "I really really love machine learning",
+ "language": "en"
+ },
+ {
+ "id": "4",
+ "text": "Le soleil se lève à l'Est",
+ "language": "fr"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "keyPhrases": [
+ "demo"
+ ],
+ "id": "1"
+ },
+ {
+ "keyPhrases": [
+ "Español"
+ ],
+ "id": "2"
+ },
+ {
+ "keyPhrases": [
+ "machine"
+ ],
+ "id": "3"
+ },
+ {
+ "keyPhrases": [
+ "soleil"
+ ],
+ "id": "4"
+ }
+ ],
+ "errors": []
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulLanguagesRequest.json
new file mode 100644
index 000000000000..e2d44e5f9c28
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulLanguagesRequest.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "text": "If this demo doesn't work I will be super sad"
+ },
+ {
+ "id": "2",
+ "text": "Español es muy difícil de aprender"
+ },
+ {
+ "id": "3",
+ "text": "I really really love machine learning"
+ },
+ {
+ "id": "4",
+ "text": "Le soleil se lève à l'Est"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "detectedLanguages": [
+ {
+ "name": "English",
+ "iso6391Name": "en",
+ "score": 1.0
+ }
+ ]
+ },
+ {
+ "id": "2",
+ "detectedLanguages": [
+ {
+ "name": "Spanish",
+ "iso6391Name": "es",
+ "score": 1.0
+ }
+ ]
+ },
+ {
+ "id": "3",
+ "detectedLanguages": [
+ {
+ "name": "English",
+ "iso6391Name": "en",
+ "score": 1.0
+ }
+ ]
+ },
+ {
+ "id": "4",
+ "detectedLanguages": [
+ {
+ "name": "French",
+ "iso6391Name": "fr",
+ "score": 1.0
+ }
+ ]
+ }
+ ],
+ "errors": []
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulSentimentRequest.json
new file mode 100644
index 000000000000..58f93a0bd9b6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v2.1/examples/SuccessfulSentimentRequest.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "text": "If this demo doesn't work I will be super sad",
+ "language": "en"
+ },
+ {
+ "id": "2",
+ "text": "Español es muy difícil de aprender",
+ "language": "es"
+ },
+ {
+ "id": "3",
+ "text": "I really really love machine learning",
+ "language": "en"
+ },
+ {
+ "id": "4",
+ "text": "Le soleil se lève à l'Est",
+ "language": "fr"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "score": 0.0065730810165405273,
+ "id": "1"
+ },
+ {
+ "score": 0.97333031892776489,
+ "id": "3"
+ },
+ {
+ "score": 0.44219660758972168,
+ "id": "2"
+ },
+ {
+ "score": 0.53425812721252441,
+ "id": "4"
+ }
+ ],
+ "errors": []
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/readme.md b/specification/cognitiveservices/data-plane/TranslatorText/readme.md
new file mode 100644
index 000000000000..b3eb64a3ec09
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/readme.md
@@ -0,0 +1,130 @@
+# Cognitive Services Translator Text SDK
+
+> see https://aka.ms/autorest
+
+Configuration for generating Translator Text SDK.
+
+The current release is `release_3_0`.
+
+``` yaml
+
+tag: release_3_0
+add-credentials: true
+openapi-type: data-plane
+```
+
+# Releases
+
+### Release 3.0
+These settings apply only when `--tag=release_3_0` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_0'
+input-file: stable/v3.0/TranslatorText.json
+```
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-nodejs
+```
+
+## 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.TranslatorText
+ output-folder: $(csharp-sdks-folder)/CognitiveServices/dataPlane/TranslatorText/TranslatorText/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:
+ license-header: MICROSOFT_MIT_NO_VERSION
+ add-credentials: true
+ payload-flattening-threshold: 2
+ namespace: azure.cognitiveservices.translatortext
+ package-name: azure-cognitiveservices-translatortext
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-translatortext/azure/cognitiveservices/translatortext
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-cognitiveservices-translatortext
+```
+
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: translatortext
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: release_3_0
+```
+
+### Tag: release_3_0 and go
+
+These settings apply only when `--tag=release_3_0 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_3_0' && $(go)
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v3.0/$(namespace)
+```
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ namespace: com.microsoft.azure.cognitiveservices.translatortext
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/cognitiveservices/data-plane/translatortext
+ with-optional-parameters: true
+ with-single-async-method: true
+```
+
+## Node.js
+
+``` yaml $(nodejs)
+nodejs:
+ package-name: azure-cognitiveservices-newssearch
+ package-version: 3.0.0
+ output-folder: $(node-sdks-folder)/lib/services/translatorText
+ azure-arm: false
+ generate-license-txt: true
+ generate-package-json: true
+ generate-readme-md: false
+```
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/TranslatorText.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/TranslatorText.json
new file mode 100644
index 000000000000..3b9432b9544c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/TranslatorText.json
@@ -0,0 +1,1118 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.0",
+ "title": "Translator Text Client",
+ "termsOfService": "http://www.microsoftvolumelicensing.com/DocumentSearch.aspx?Mode=3&DocumentTypeId=31",
+ "contact": {
+ "name": "Microsoft Translator team",
+ "email": "translator@microsoft.com",
+ "url": "https://www.microsoft.com/translator"
+ },
+ "description": "# Introduction\n\nThe Microsoft Translator Text API provides a JSON-based Web API. It provides:\n\n * Translation between any supported languages to any other supported language.\n * Translation to multiple languages in one request.\n * Transliteration to convert text from one script to another script of the same language.\n * Language detection, translation, and transliteration in one request.\n * Dictionary to lookup alternative translations of a term, to find back-translations and examples showing terms used in context.\n * Rich language detection.\n# Base URLs\n\nThe Translator Text API is available in the following clouds:\n\n| Description | Region | Base URL |\n| ------- | -------- | ------- |\n| Azure | Global | api.cognitive.microsofttranslator.com |\n| Azure | Europe | api-eur.cognitive.microsofttranslator.com |\n\n\n# Authentication\n\nSubscribe to the Translator Text API, part of Azure Cognitive Services, and use your subscription key from the Azure portal to authenticate. You can follow the steps in https://docs.microsoft.com/en-us/azure/cognitive-services/translator/translator-text-how-to-signup.\n\n\nThe simplest way is to pass your Azure secret key to the Translator service using the http request header `Ocp-Apim-Subscription-Key`.\n\nIf you prefer using a short-lived authentication, you may use your secret key to obtain an authorization token from the token service. In that case you pass the authorization token to the Translator service using the `Authorization` request header. To obtain an authorization token, make a `POST` request to the following URL:\n\n| Environment | Authentication service URL |\n| ---------- | ---------- |\n| Azure | `https://api.cognitive.microsoft.com/sts/v1.0/issueToken` |\n\nHere are example requests to obtain a token with a lifetime of 10 minutes, given a secret key:\n\n```python\n// Pass secret key using header\ncurl --header 'Ocp-Apim-Subscription-Key: ' --data \"\" 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken'\n// Pass secret key using query string parameter\ncurl --data \"\" 'https://api.cognitive.microsoft.com/sts/v1.0/issueToken?Subscription-Key='\n```\n\nA successful request returns the encoded access token as plain text in the response body. The valid token is passed to the Translator service as a bearer token in the Authorization. \n\n```\nAuthorization: Bearer \n```\n\nAn authentication token is valid for 10 minutes. The token should be re-used when making multiple calls to the Translator APIs. If you make requests to the Translator API over an extended period of time, you must request a new access token at regular intervals before the token expires, for instance every 9 minutes.\n\nTo summarize, a client request to the Translator API will include one authorization header taken from the following table:\n\n| Headers | Description |\n| ---------- | ---------- |\n| Ocp-Apim-Subscription-key | Use with Cognitive Services subscription if you are passing your secret key. The value is the Azure secret key for your subscription to Translator Text API. |\n| Authorization | Use with Cognitive Services subscription if you are passing an authentication token. The value is the Bearer token: `Bearer `. |\n\n## All-in-one subscription\nThe last authentication option is to use a Cognitive Service’s all-in-one subscription. This allows you to use a single secret key to authenticate requests for multiple services.\nWhen you use an all-in-one secret key, you must include two authentication headers with your request. The first passes the secret key, the second specifies the region associated with your subscription.\n`Ocp-Api-Subscription-Key` `Ocp-Apim-Subscription-Region`\nIf you pass the secret key in the query string with the parameter `Subscription-Key`, then you must specify the region with query parameter `Subscription-Region`.\nIf you use a bearer token, you must obtain the token from the region endpoint:\n`https://.api.cognitive.microsoft.com/sts/v1.0/issueToken`.\n\nAvailable regions are: `australiaeast`, `brazilsouth`, `canadacentral`, `centralindia`, `centraluseuap`, `eastasia`, `eastus`, `eastus2`, `japaneast`, `northeurope`, `southcentralus`, `southeastasia`, `uksouth`, `westcentralus`, `westeurope`, `westus`, and `westus2`.\n\nRegion is required for the all-in-one Text API subscription.\n\n\n# Errors\n\nA standard error response is a JSON object with name/value pair named `error`. The value is also a JSON object with properties:\n * `code`: A server-defined error code.\n * `message`: A string giving a human-readable representation of the error.\n\nFor example, a customer with a free trial subscription receives the following error once the free quota is exhausted:\n\n```json\n{\n \"error\": {\n \"code\":403000,\n \"message\":\"The subscription has exceeded its free quota.\"\n }\n}\n```\n# Enter your subscription keys to try out Microsoft Translator.\nSelect the `Authorize` button and enter your Microsoft Translator subscription key, OR your `all in one Cognitive Services` subscription key. If you are using the all in one Cognitive Services key you will need to also enter your subscription region.\n## Available regions are:\n\n `australiaeast`, `brazilsouth`, `canadacentral`, `centralindia`, `centraluseuap`, `eastasia`, `eastus`, `eastus2`, `japaneast`, `northeurope`, `southcentralus`, `southeastasia`, `uksouth`, `westcentralus`, `westeurope`, `westus`, `westus2`.\n"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ },
+ "api_key_all_in_one": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ },
+ "api_region_all_in_one": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Region",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ },
+ {
+ "api_key_all_in_one": []
+ },
+ {
+ "api_region_all_in_one": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "host": "api.cognitive.microsofttranslator.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/BreakSentence": {
+ "post": {
+ "description": "Identifies the position of sentence boundaries in a piece of text.\n",
+ "tags": [
+ "BreakSentence"
+ ],
+ "operationId": "Translator_BreakSentence",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "Language",
+ "description": "Language tag of the language of the input text. If not specified, Translator will apply automatic language detection.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "Script",
+ "description": "Script identifier of the script used by the input text. If a script is not specified, the default script of the language will be assumed.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "X-ClientTraceId",
+ "description": "A client-generated GUID to uniquely identify the request. Note that you can omit this header if you include the trace ID in the query string using a query parameter named ClientTraceId.",
+ "in": "header",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "text",
+ "description": "# Request Body\nThe body of the request is a JSON array. Each array element is a JSON object with a string property named Text. Sentence boundaries are computed for the value of the Text property. \n\nThe following limitations apply:\n* The array can have at most 100 elements.\n* The text value of an array element cannot exceed 10,000 characters including spaces.\n* The entire text included in the request cannot exceed 50,000 characters including spaces.\n* If the `language` query parameter is specified, then all array elements must be in the same language. Otherwise, language auto-detection is applied to each array element independently.\n\n# Response Body\nA successful response is a JSON array with one result for each string in the input array. A result object includes the following properties:\n* `sentLen`- An array of integers representing the lengths of the sentences in the text element. The length of the array is the number of sentences, and the values are the length of each sentence.\n* `detectedLanguage`- An object describing the detected language through the following properties\n * `language`- Code of the detected language.\n * `score`- A float value indicating the confidence in the result. The score is between zero and one and a low score indicates a low confidence.\n* Note that the `detectedLanguage` property is only present in the result object when language auto-detection is requested.\n# Response Header\nX-RequestId - Value generated by the service to identify the request. It is used for troubleshooting purposes.\n",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BreakSentenceTextInput"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/BreakSentenceResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorMessage"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BreakSentence success example": {
+ "$ref": "./examples/breakSentenceSuccess.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/Detect": {
+ "post": {
+ "description": "Identifies the language of a string of text.\n",
+ "tags": [
+ "Detect"
+ ],
+ "operationId": "Translator_Detect",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "X-ClientTraceId",
+ "description": "A client-generated GUID to uniquely identify the request. Note that you can omit this header if you include the trace ID in the query string using a query parameter named ClientTraceId.",
+ "in": "header",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "text",
+ "description": "# Request Body\nThe body of the request is a JSON array. Each array element is a JSON object with a string property named Text. Language detection is applied to the value of the Text property.\nThe following limitations apply:\n* The array can have at most 100 elements.\n* The text value of an array element cannot exceed 10,000 characters including spaces.\n* The entire text included in the request cannot exceed 50,000 characters including spaces.\n\n# Response Body\nA successful response is a JSON array with one result for each string in the input array. A result object includes the following properties:\n* language- Code of the detected language.\n* score- A float value indicating the confidence in the result. The score is between zero and one and a low score indicates a low confidence.\n* isTranslationSupported- A boolean value which is true if the detected language is one of the languages supported for text translation. Not all detected languages can be translated by the API.\n* isTransliterationSupported- A boolean value which is true if the detected language is one of the languages supported for transliteration.\n* alternatives- An array of other possible languages. Each element of the array is another object with the same properties listed above- language, score, isTranslationSupported and isTransliterationSupported.\n# Response Header\nX-RequestId - Value generated by the service to identify the request. It is used for troubleshooting purposes.\n",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DetectTextInput"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DetectResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorMessage"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Detect success example": {
+ "$ref": "./examples/detectSuccess.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/Dictionary/Lookup": {
+ "post": {
+ "description": "Provides alternative translations for a word and a small number of idiomatic phrases. Each translation has a `part-of-speech` and a list of `back-translations`. The back-translations enable a user to understand the translation in context. The Dictionary Example operation allows further drill down to see example uses of each translation pair.\n",
+ "tags": [
+ "Dictionary/Lookup"
+ ],
+ "operationId": "Translator_DictionaryLookup",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "from",
+ "description": "Specifies the language of the input text. The source language must be one of the supported languages included in the `dictionary` scope.",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "to",
+ "description": "Specifies the language of the output text. The target language must be one of the supported languages included in the `dictionary` scope of the Languages resource.",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "X-ClientTraceId",
+ "description": "A client-generated GUID to uniquely identify the request. Note that you can omit this header if you include the trace ID in the query string using a query parameter named ClientTraceId.",
+ "in": "header",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "text",
+ "description": "# Request Body\nThe body of the request is a JSON array. Each array element is a JSON object with a string property named `Text`, which represents the term to lookup.\nThe following limitations apply:\n* The array can have at most 10 elements.\n* The text value of an array element cannot exceed 100 characters including spaces.\n\n# Response Body\nA successful response is a JSON array with one result for each string in the input array. A result object includes the following properties:\n* `normalizedSource`- A string giving the normalized form of the source term. For example, if the request is \"JOHN\", the normalized form will be \"john\". The content of this field becomes the input to lookup examples.\n* `displaySource`- A string giving the source term in a form best suited for end-user display. For example, if the input is \"JOHN\", the display form will reflect the usual spelling of the name- \"John\".\n* `translations`- A list of translations for the source term. Each element of the list is an object with the following properties:\n * `normalizedTarget`- A string giving the normalized form of this term in the target language. This value should be used as input to lookup examples.\n * `displayTarget`- A string giving the term in the target language and in a form best suited for end-user display. Generally, this will only differ from the `normalizedTarget` in terms of capitalization. For example, a proper noun like \"Juan\" will have `normalizedTarget = \"juan\"` and `displayTarget = \"Juan\"`.\n * `posTag`- A string associating this term with a part-of-speech tag.\n \n | Tag name | Description |\n | --------- | ---------------- |\n | ADJ | Adjectives |\n | ADV | Adverbs |\n | CONJ | Conjunctions |\n | DET | Determiners |\n | MODAL | Verbs |\n | NOUN | Nouns |\n | PREP | Prepositions |\n | PRON | Pronouns |\n | VERB | Verbs |\n | OTHER | Other |\n \n As an implementation note, these tags were determined by part-of-speech tagging the English side, and then taking the most frequent tag for each source/target pair. So if people frequently translate a Spanish word to a different part-of-speech tag in English, tags may end up being wrong (with respect to the Spanish word).\n * `confidence`- A value between 0.0 and 1.0 which represents the \"confidence\" (or perhaps more accurately, \"probability in the training data\") of that translation pair. The sum of confidence scores for one source word may or may not sum to 1.0.\n * `prefixWord-` A string giving the the word to display as a prefix of the translation. Currently, this is the gendered determiner of nouns, in languages that have gendered determiners. For example, the prefix of the Spanish word \"mosca\" is \"la\", since \"mosca\" is a feminine noun in Spanish. This is only dependent on the translation, and not on the source. If there is no prefix, it will be the empty string.\n * `backTranslations-` A list of \"back translations\" of the target. For example, source words that the target can translate to. The list is guaranteed to contain the source word that was requested (e.g., if the source word being looked up is \"fly\", then it is guaranteed that \"fly\" will be in the `backTranslations` list). However, it is not guaranteed to be in the first position, and often will not be. Each element of the `backTranslations` list is an object described by the following properties-\n * `normalizedText-` A string giving the normalized form of the source term that is a back-translation of the target. This value should be used as input to lookup examples.\n * `displayText-` A string giving the source term that is a back-translation of the target in a form best suited for end-user display.\n * `numExamples-` An integer representing the number of examples that are available for this translation pair. Actual examples must be retrieved with a separate call to lookup examples. The number is mostly intended to facilitate display in a UX. For example, a user interface may add a hyperlink to the back-translation if the number of examples is greater than zero and show the back-translation as plain text if there are no examples. Note that the actual number of examples returned by a call to lookup examples may be less than `numExamples`, because additional filtering may be applied on the fly to remove \"bad\" examples.\n * `frequencyCount-` An integer representing the frequency of this translation pair in the data. The main purpose of this field is to provide a user interface with a means to sort back-translations so the most frequent terms are first.\n \nNote - If the term being looked up does not exist in the dictionary, the response is 200 (OK) but the `translations` list is an empty list.\n \n# Response Header\nX-RequestId - Value generated by the service to identify the request. It is used for troubleshooting purposes.\n",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DictionaryLookupTextInput"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DictionaryLookupResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorMessage"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DictionaryLookup success example": {
+ "$ref": "./examples/dictionaryLookupSuccess.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/Dictionary/Examples": {
+ "post": {
+ "description": "Provides examples that show how terms in the dictionary are used in context. This operation is used in tandem with `Dictionary lookup`.\n",
+ "tags": [
+ "DictionaryExamples"
+ ],
+ "operationId": "Translator_DictionaryExamples",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "from",
+ "description": "Specifies the language of the input text. The source language must be one of the supported languages included in the `dictionary` scope.",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "to",
+ "description": "Specifies the language of the output text. The target language must be one of the supported languages included in the `dictionary` scope.",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "X-ClientTraceId",
+ "description": "A client-generated GUID to uniquely identify the request. Note that you can omit this header if you include the trace ID in the query string using a query parameter named ClientTraceId.",
+ "in": "header",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "text",
+ "description": "# Request body\nThe body of the request is a JSON array. Each array element is a JSON object with the following properties:\n* `Text-` A string specifying the term to lookup. This should be the value of a `normalizedText` field from the back-translations of a previous Dictionary lookup request. It can also be the value of the `normalizedSource` field.\n* `Translation-` A string specifying the translated text previously returned by the Dictionary lookup operation. This should be the value from the `normalizedTarget` field in the `translations` list of the Dictionary lookup response. The service will return examples for the specific source-target word-pair.\n\nThe following limitations apply:\n* The array can have at most 10 elements.\n* The text value of an array element cannot exceed 100 characters including spaces.\n\n# Response body\nA successful response is a JSON array with one result for each string in the input array. A result object includes the following properties:\n* `normalizedSource-` A string giving the normalized form of the source term. Generally, this should be identical to the value of the `Text` field at the matching list index in the body of the request.\n* `normalizedTarget-` A string giving the normalized form of the target term. Generally, this should be identical to the value of the `Translation` field at the matching list index in the body of the request.\n* `examples-` A list of examples for the (source term, target term) pair. Each element of the list is an object with the following properties:\n * `sourcePrefix-` The string to concatenate before the value of `sourceTerm` to form a complete example. Do not add a space character, since it is already there when it should be. This value may be an empty string.\n * `sourceTerm-` A string equal to the actual term looked up. The string is added with `sourcePrefix` and `sourceSuffix` to form the complete example. Its value is separated so it can be marked in a user interface, e.g., by bolding it.\n * `sourceSuffix-` The string to concatenate after the value of `sourceTerm` to form a complete example. Do not add a space character, since it is already there when it should be. This value may be an empty string.\n * `targetPrefix-` A string similar to `sourcePrefix` but for the target.\n * `targetTerm-` A string similar to `sourceTerm` but for the target.\n * `targetSuffix-` A string similar to `sourceSuffix` but for the target.\n\n# Response Header\nX-RequestId - Value generated by the service to identify the request. It is used for troubleshooting purposes.\nNOTE - If there are no examples in the dictionary, the response is 200 (OK) but the `examples` list is an empty list.\n",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DictionaryExampleTextInput"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DictionaryExampleResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorMessage"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DictionaryExample success example": {
+ "$ref": "./examples/dictionaryExampleSuccess.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/Languages": {
+ "get": {
+ "description": "Gets the set of languages currently supported by other operations of the Translator Text API.\n**Authentication is not required to get language resources.**\n\n# Response Body\nA client uses the `scope` query parameter to define which groups of languages it is interested in.\n* `scope=translation` provides languages supported to translate text from one language to another language.\n* `scope=transliteration` provides capabilities for converting text in one language from one script to another script.\n* `scope=dictionary` provides language pairs for which `Dictionary` operations return data.\n\nA client may retrieve several groups simultaneously by specifying a comma-separated list of names. For example, `scope=translation,transliteration,dictionary` would return supported languages for all groups.\n\nA successful response is a JSON object with one property for each requested group.\nThe value for each property is as follows.\n\n* `translation` property\n The value of the `translation` property is a dictionary of (key, value) pairs. Each key is a BCP 47 language tag. A key identifies a language for which text can be translated to or translated from. The value associated with the key is a JSON object with properties that describe the language\n * `name-` Display name of the language in the locale requested via `Accept-Language` header.\n * `nativeName-` Display name of the language in the locale native for this language.\n * `dir-` Directionality, which is `rtl` for right-to-left languages or `ltr` for left-to-right languages.\n```json\n{\n \"translation\": {\n ...\n \"fr\": {\n \"name\": \"French\",\n \"nativeName\": \"Français\",\n \"dir\": \"ltr\"\n },\n...\n }\n}\n```\n* `transliteration` property\n The value of the `transliteration` property is a dictionary of (key, value) pairs. Each key is a BCP 47 language tag. A key identifies a language for which text can be converted from one script to another script. The value associated with the key is a JSON object with properties that describe the language and its supported scripts\n * `name-` Display name of the language in the locale requested via `Accept-Language` header.\n * `nativeName-` Display name of the language in the locale native for this language.\n * `scripts-` List of scripts to convert from. Each element of the `scripts` list has properties-\n * `code-` Code identifying the script.\n * `name-` Display name of the script in the locale requested via `Accept-Language` header.\n * `nativeName-` Display name of the language in the locale native for the language.\n * `dir-` Directionality, which is `rtl` for right-to-left languages or `ltr` for left-to-right languages.\n * `toScripts-` List of scripts available to convert text to. Each element of the `toScripts` list has properties `code`, `name`, `nativeName`, and `dir` as described earlier.\n\n```json\n{\n \"transliteration\": {\n ...\n \"ja\": {\n \"name\": \"Japanese\",\n \"nativeName\": \"日本語\",\n \"scripts\": [\n {\n \"code\": \"Jpan\",\n \"name\": \"Japanese\",\n \"nativeName\": \"日本語\",\n \"dir\": \"ltr\",\n \"toScripts\": [\n {\n \"code\": \"Latn\",\n \"name\": \"Latin\",\n \"nativeName\": \"ラテン語\",\n \"dir\": \"ltr\"\n }\n ]\n },\n {\n \"code\": \"Latn\",\n \"name\": \"Latin\",\n \"nativeName\": \"ラテン語\",\n \"dir\": \"ltr\",\n \"toScripts\": [\n {\n \"code\": \"Jpan\",\n \"name\": \"Japanese\",\n \"nativeName\": \"日本語\",\n \"dir\": \"ltr\"\n }\n ]\n }\n ]\n },\n ...\n }\n}\n\n```\n* `dictionary` property\nThe value of the `dictionary` property is a dictionary of (key, value) pairs. Each key is a BCP 47 language tag. The key identifies a language for which alternative translations and back-translations are available. The value is a JSON object that describes the source language and the target languages with available translations.\n * `name-` Display name of the source language in the locale requested via `Accept-Language` header.\n * `nativeName-` Display name of the language in the locale native for this language.\n * `dir-` Directionality, which is `rtl` for right-to-left languages or `ltr` for left-to-right languages.\n * `translations-` List of languages with alterative translations and examples for the query expressed in the source language. Each element of the `translations` list has properties\n * `name-` Display name of the target language in the locale requested via `Accept-Language` header.\n * `nativeName-` Display name of the target language in the locale native for the target language.\n * `dir-` Directionality, which is `rtl` for right-to-left languages or `ltr` for left-to-right languages.\n * `code-` Language code identifying the target language.\n\n```json\n\n\"es\": {\n \"name\": \"Spanish\",\n \"nativeName\": \"Español\",\n \"dir\": \"ltr\",\n \"translations\": [\n {\n \"name\": \"English\",\n \"nativeName\": \"English\",\n \"dir\": \"ltr\",\n \"code\": \"en\"\n }\n ]\n},\n\n```\n\nThe structure of the response object will not change without a change in the version of the API. For the same version of the API, the list of available languages may change over time because Microsoft Translator continually extends the list of languages supported by its services.\n\nThe list of supported languages will not change frequently. To save network bandwidth and improve responsiveness, a client application should consider caching language resources and the corresponding entity tag (`ETag`). Then, the client application can periodically (for example, once every 24 hours) query the service to fetch the latest set of supported languages. Passing the current `ETag` value in an `If-None-Match` header field will allow the service to optimize the response. If the resource has not been modified, the service will return status code 304 and an empty response body.\n \n# Response Header\nETag - Current value of the entity tag for the requested groups of supported languages. To make subsequent requests more efficient, the client may send the `ETag` value in an `If-None-Match` header field.\n\nX-RequestId - Value generated by the service to identify the request. It is used for troubleshooting purposes. \n \n \n",
+ "tags": [
+ "Languages"
+ ],
+ "operationId": "Translator_Languages",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "scope",
+ "description": "A comma-separated list of names defining the group of languages to return. Allowed group names are- `translation`, `transliteration` and `dictionary`. If no scope is given, then all groups are returned, which is equivalent to passing `scope=translation,transliteration,dictionary`. To decide which set of supported languages is appropriate for your scenario, see the description of the response object.",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "minItems": 0,
+ "maxItems": 3,
+ "items": {
+ "type": "string",
+ "enum": ["translation", "transliteration", "dictionary"]
+ }
+ },
+ {
+ "name": "Accept-Language",
+ "description": "The language to use for user interface strings. Some of the fields in the response are names of languages or names of regions. Use this parameter to define the language in which these names are returned. The language is specified by providing a well-formed BCP 47 language tag. For instance, use the value `fr` to request names in French or use the value `zh-Hant` to request names in Chinese Traditional. Names are provided in the English language when a target language is not specified or when localization is not available.",
+ "in": "header",
+ "type": "string",
+ "required": false
+ },
+ {
+ "name": "X-ClientTraceId",
+ "description": "A client-generated GUID to uniquely identify the request. Note that you can omit this header if you include the trace ID in the query string using a query parameter named ClientTraceId.",
+ "in": "header",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/LanguagesResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorMessage"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Languages success example": {
+ "$ref": "./examples/languagesSuccess.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/translate": {
+ "post": {
+ "description": "Translates text into one or more languages.\n",
+ "tags": [
+ "Translate"
+ ],
+ "operationId": "Translator_Translate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "from",
+ "description": "Specifies the language of the input text. Find which languages are available to translate from by using the languages method. If the `from` parameter is not specified, automatic language detection is applied to determine the source language.\n",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "to",
+ "description": "Specifies the language of the output text. Find which languages are available to translate to by using the languages method. For example, use `to=de` to translate to German.\n It's possible to translate to multiple languages simultaneously by repeating the `to` parameter in the query string. For example, use `to=de&to=it` to translate to German and Italian in the same request.\n",
+ "in": "query",
+ "required": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "textType",
+ "description": "Defines whether the text being translated is plain text or HTML text. Any HTML needs to be a well-formed, complete HTML element. Possible values are `plain` (default) or `html`\n",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": ["plain", "html"]
+ },
+ {
+ "name": "category",
+ "description": "A string specifying the category (domain) of the translation. This parameter retrieves translations from a customized system built with Custom Translator. Default value is `general`.\n",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "profanityAction",
+ "description": "Specifies how profanities should be treated in translations. Possible values are: `NoAction` (default), `Marked` or `Deleted`.\n### Handling Profanity\nNormally the Translator service will retain profanity that is present in the source in the translation. The degree of profanity and the context that makes words profane differ between cultures, and as a result the degree of profanity in the target language may be amplified or reduced.\n\nIf you want to avoid getting profanity in the translation, regardless of the presence of profanity in the source text, you can use the profanity filtering option. The option allows you to choose whether you want to see profanity deleted, whether you want to mark profanities with appropriate tags (giving you the option to add your own post-processing), or you want no action taken. The accepted values of `ProfanityAction` are `Deleted`, `Marked` and `NoAction` (default).\n\n| ProfanityAction | Action |\n| ---------- | ---------- |\n| `NoAction` | This is the default behavior. Profanity will pass from source to target. |\n| | Example Source (Japanese)- 彼はジャッカスです。 |\n| | Example Translation (English)- He is a jackass. |\n| | |\n| `Deleted` | Profane words will be removed from the output without replacement. |\n| | Example Source (Japanese)- 彼はジャッカスです。 |\n| | Example Translation (English)- He is a. |\n| `Marked` | Profane words are replaced by a marker in the output. The marker depends on the `ProfanityMarker` parameter.\n| | For `ProfanityMarker=Asterisk`, profane words are replaced with `***` |\n| | Example Source (Japanese)- 彼はジャッカスです。 |\n| | Example Translation (English)- He is a ***. |\n| | For `ProfanityMarker=Tag`, profane words are surrounded by XML tags and \n| | Example Source (Japanese)- 彼はジャッカスです。 |\n| | Example Translation (English)- He is a jackass.\n",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": ["NoAction", "Marked", "Deleted"]
+ },
+ {
+ "name": "profanityMarker",
+ "description": "Specifies how profanities should be marked in translations. Possible values are- `Asterisk` (default) or `Tag`.\n",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "includeAlignment",
+ "description": "Specifies whether to include alignment projection from source text to translated text. Possible values are- `true` or `false` (default).\n",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "includeSentenceLength",
+ "description": "Specifies whether to include sentence boundaries for the input text and the translated text. Possible values are- `true` or `false` (default).\n",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ },
+ {
+ "name": "suggestedFrom",
+ "description": "Specifies a fallback language if the language of the input text can't be identified. Language auto-detection is applied when the `from` parameter is omitted. If detection fails, the `suggestedFrom` language will be assumed.\n",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "fromScript",
+ "description": "Specifies the script of the input text. Supported scripts are available from the languages method",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "toScript",
+ "description": "Specifies the script of the translated text. Supported scripts are available from the languages method",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "X-ClientTraceId",
+ "description": "A client-generated GUID to uniquely identify the request. Note that you can omit this header if you include the trace ID in the query string using a query parameter named ClientTraceId.",
+ "in": "header",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "text",
+ "description": "# Request body\nThe body of the request is a JSON array. Each array element is a JSON object with a string property named `Text`, which represents the string to translate.\nThe following limitations apply:\n* The array can have at most 25 elements.\n* The entire text included in the request cannot exceed 5,000 characters including spaces.\n# Response body\nA successful response is a JSON array with one result for each string in the input array. A result object includes the following properties-\n* `detectedLanguage`- An object describing the detected language through the following properties.\n * `language`- A string representing the code of the detected language.\n * `score`- A float value indicating the confidence in the result. The score is between zero and one and a low score indicates a low confidence.\n The `detectedLanguage` property is only present in the result object when language auto-detection is requested.\n* `translations`- An array of translation results. The size of the array matches the number of target languages specified in the `to` query parameter. Each element in the array includes.\n * `to` A string representing the language code of the target language.\n * `text`- A string giving the translated text.\n * `transliteration`- An object giving the translated text in the script specified by the `toScript` parameter.\n * `script`- A string specifying the target script.\n * `text`- A string giving the translated text in the target script.\n The `transliteration` object is not included if transliteration does not take place.\n *`alignment`- An object with a single string property named `proj`, which maps input text to translated text. The alignment information is only provided when the request parameter `includeAlignment` is `true`. Alignment is returned as a string value of the following format- `[[SourceTextStartIndex]-[SourceTextEndIndex]–[TgtTextStartIndex]-[TgtTextEndIndex]]`. The colon separates start and end index, the dash separates the languages, and space separates the words. One word may align with zero, one, or multiple words in the other language, and the aligned words may be non-contiguous. When no alignment information is available, the alignment element will be empty. See Obtain alignment information for an example and restrictions.\n * `sentLen`- An object returning sentence boundaries in the input and output texts.\n * `srcSentLen`- An integer array representing the lengths of the sentences in the input text. The length of the array is the number of sentences, and the values are the length of each sentence.\n * `transSentLen`- An integer array representing the lengths of the sentences in the translated text. The length of the array is the number of sentences, and the values are the length of each sentence.\n Sentence boundaries are only included when the request parameter `includeSentenceLength` is `true`.\n * `sourceText`- An object with a single string property named `text`, which gives the input text in the default script of the source language. `sourceText` property is present only when the input is expressed in a script that's not the usual script for the language. For example, if the input were Arabic written in Latin script, then `sourceText.text` would be the same Arabic text converted into Arab script.\n Example of JSON responses are provided in the examples section.\n \n \n",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TranslateTextInput"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TranslateResultAll"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorMessage"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Translate success example": {
+ "$ref": "./examples/translateSuccess.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/transliterate": {
+ "post": {
+ "description": "Converts the text of a language in one script into another type of script. Example- \nJapanese script \"こんにちは\"\nSame word in Latin script \"konnichiha\"\n",
+ "tags": [
+ "Transliterate"
+ ],
+ "operationId": "Translator_Transliterate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "language",
+ "description": "Specifies the language of the text to convert from one script to another. Possible languages are listed in the `transliteration` scope obtained by querying the service for its supported languages.\n",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "fromScript",
+ "description": "Specifies the script used by the input text. Lookup supported languages using the `transliteration` scope, to find input scripts available for the selected language.\n",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "toScript",
+ "description": "Specifies the output script. Lookup supported languages using the `transliteration` scope, to find output scripts available for the selected combination of input language and input script.\n",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "X-ClientTraceId",
+ "description": "A client-generated GUID to uniquely identify the request. Note that you can omit this header if you include the trace ID in the query string using a query parameter named ClientTraceId.",
+ "in": "header",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "texts",
+ "description": "# Request body\n The body of the request is a JSON array. Each array element is a JSON object with a string property named `Text`, which represents the string to convert.\n The following limitations apply:\n * The array can have at most 10 elements.\n * The text value of an array element cannot exceed 1,000 characters including spaces.\n * The entire text included in the request cannot exceed 5,000 characters including spaces.\n \n# Response body\n A successful response is a JSON array with one result for each element in the input array. A result object includes the following properties:\n * `text`- A string which is the result of converting the input string to the output script.\n * `script`- A string specifying the script used in the output.\n \n",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransliterateTextInput"
+ }
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/TransliterateResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorMessage"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Transliterate success example": {
+ "$ref": "./examples/transliterateSuccess.json"
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+
+ "LanguagesResult": {
+ "type": "object",
+ "description": "Example of a successful languages request",
+ "properties": {
+ "translation": {
+ "type": "object",
+ "properties": {
+ "languageCode": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "nativeName": {
+ "type": "string"
+ },
+ "dir": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "transliteration": {
+ "type": "object",
+ "properties": {
+ "languageCode": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "nativeName": {
+ "type": "string"
+ },
+ "scripts": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "nativeName": {
+ "type": "string"
+ },
+ "dir": {
+ "type": "string"
+ },
+ "toScripts": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "nativeName": {
+ "type": "string"
+ },
+ "dir": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "dictionary": {
+ "type": "object",
+ "properties": {
+ "languageCode": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "nativeName": {
+ "type": "string"
+ },
+ "dir": {
+ "type": "string"
+ },
+ "translations": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "nativeName": {
+ "type": "string"
+ },
+ "dir": {
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "DictionaryExampleResult": {
+ "type": "array",
+ "description": "Example of a successful dictionary example request",
+ "items": {
+ "type": "object",
+ "properties": {
+ "normalizedSource": {
+ "type": "string"
+ },
+ "normalizedTarget": {
+ "type": "string"
+ },
+ "examples": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "sourcePrefix": {
+ "type": "string"
+ },
+ "sourceTerm": {
+ "type": "string"
+ },
+ "sourceSuffix": {
+ "type": "string"
+ },
+ "targetPrefix": {
+ "type": "string"
+ },
+ "targetTerm": {
+ "type": "string"
+ },
+ "targetSuffix": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "DictionaryLookupResult": {
+ "type": "array",
+ "description": "Example of a successful dictionary lookup request",
+ "items": {
+ "type": "object",
+ "properties": {
+ "normalizedSource": {
+ "type": "string"
+ },
+ "displaySource": {
+ "type": "string"
+ },
+ "translations": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "normalizedTarget": {
+ "type": "string"
+ },
+ "displayTarget": {
+ "type": "string"
+ },
+ "posTag": {
+ "type": "string"
+ },
+ "confidence": {
+ "type": "number"
+ },
+ "prefixWord": {
+ "type": "string"
+ },
+ "backTranslations": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "normalizedText": {
+ "type": "string"
+ },
+ "displayText": {
+ "type": "string"
+ },
+ "numExamples": {
+ "type": "integer"
+ },
+ "frequencyCount": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "TranslateResult": {
+ "type": "array",
+ "description": "Example of a successful translate request",
+ "items": {
+ "type": "object",
+ "properties": {
+ "translation": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+
+ "TranslateResultAll": {
+ "type": "array",
+ "description": "Example of a successful translate request, including all optional parameters.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "detectedLanguage": {
+ "type": "object",
+ "properties": {
+ "language": {
+ "type": "string"
+ },
+ "score": {
+ "type": "integer"
+ }
+ }
+ },
+ "translations": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "transliteration": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "script": {
+ "type": "string"
+ }
+ }
+ },
+ "to": {
+ "type": "string"
+ },
+ "alignment": {
+ "type": "object",
+ "properties": {
+ "proj": {
+ "type": "string"
+ }
+ }
+ },
+ "sentLen": {
+ "type": "object",
+ "properties": {
+ "srcSentLen": {
+ "type": "array",
+ "items": {
+ "properties": {
+ "integer": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "transSentLen": {
+ "type": "array",
+ "items": {
+ "properties": {
+ "integer": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+
+ "BreakSentenceResult": {
+ "type": "array",
+ "description": "Example of a successful break sentence request",
+ "items": {
+ "type": "object",
+ "properties": {
+ "sentLen": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ }
+ }
+ },
+ "TransliterateResult": {
+ "type": "array",
+ "description": "Example of a successful transliterate request",
+ "items": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ },
+ "script": {
+ "type": "string"
+ }
+ },
+ "example": {
+ "text": "this is cool",
+ "script": "this is very cool"
+ }
+ }
+ },
+ "DetectResult": {
+ "type": "array",
+ "description": "Example of a successful detect request",
+ "items": {
+ "type": "object",
+ "properties": {
+ "text": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "BreakSentenceTextInput": {
+ "type": "object",
+ "description": "Text needed for break sentence request",
+ "properties": {
+ "text": {
+ "type": "string",
+ "maximum": 10000
+ }
+ },
+ "example": {
+ "text": "Today is a good day."
+ }
+ },
+ "ErrorMessage": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "DetectTextInput": {
+ "type": "object",
+ "description": "Text needed for detect request ",
+ "properties": {
+ "text": {
+ "type": "string",
+ "maximum": 10000
+ }
+ },
+ "example": {
+ "text": "What language is this? I am not sure, nein"
+ }
+ },
+ "DictionaryLookupTextInput": {
+ "type": "object",
+ "description": "Text needed for a dictionary lookup request ",
+ "properties": {
+ "text": {
+ "type": "string",
+ "maximum": 100
+ }
+ },
+ "example": {
+ "text": "Bug"
+ }
+ },
+ "DictionaryExampleTextInput": {
+ "type": "object",
+ "description": "Text needed for a dictionary example request ",
+ "properties": {
+ "text": {
+ "type": "string",
+ "maximum": 100
+ },
+ "translation": {
+ "type": "string"
+ }
+ },
+ "example": {
+ "text": "bug",
+ "translation": "bicho"
+ }
+ },
+ "TranslateTextInput": {
+ "type": "object",
+ "description": "Text needed for a translate request ",
+ "properties": {
+ "text": {
+ "type": "string",
+ "maximum": 5000
+ }
+ },
+ "example": {
+ "text": "I would really like to drive your car."
+ }
+ },
+ "TransliterateTextInput": {
+ "type": "object",
+ "description": "Text needed for a transliterate request ",
+ "properties": {
+ "text": {
+ "type": "string",
+ "maximum": 5000
+ }
+ },
+ "example": {
+ "text": "Good morning, how are you today?"
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "ApiVersion": {
+ "name": "api-version",
+ "description": "Version of the API requested by the client. Value must be **3.0**.",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "default": "3.0"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/breakSentenceSuccess.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/breakSentenceSuccess.json
new file mode 100644
index 000000000000..a20197afe2f3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/breakSentenceSuccess.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "https://api.cognitive.microsofttranslator.com",
+ "api-version": "3.0",
+ "language": "en",
+ "text": [
+ {
+ "text": "How are you? I am fine. What did you do today?"
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ },"body":
+ [
+ {
+ "sentLen": [
+ 13,
+ 11,
+ 22
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/detectSuccess.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/detectSuccess.json
new file mode 100644
index 000000000000..ed9fbc990ad2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/detectSuccess.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "https://api.cognitive.microsofttranslator.com",
+ "api-version": "3.0",
+ "text": [
+ {
+ "text": "I would really like to drive your car."
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ },"body":
+ [
+ {
+ "language":"en",
+ "score":1.0,
+ "isTranslationSupported":true,
+ "isTransliterationSupported":false,
+ "alternatives":[
+ {
+ "language":"fil",
+ "score":1.0,
+ "isTranslationSupported":true,
+ "isTransliterationSupported":false
+ },
+ {
+ "language":"nb",
+ "score":1.0,
+ "isTranslationSupported":true,
+ "isTransliterationSupported":false
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/dictionaryExampleSuccess.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/dictionaryExampleSuccess.json
new file mode 100644
index 000000000000..fd31efc79668
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/dictionaryExampleSuccess.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "https://api.cognitive.microsofttranslator.com",
+ "api-version": "3.0",
+ "from": "en",
+ "to": "es",
+ "text": [
+ {
+ "text": "bug",
+ "translation": "bicho"
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ },"body":
+ [
+ {
+ "normalizedSource": "bug",
+ "normalizedTarget": "bicho",
+ "examples": [
+ {
+ "sourcePrefix": "You feel like a ",
+ "sourceTerm": "bug",
+ "sourceSuffix": ".",
+ "targetPrefix": "Te sientes como un ",
+ "targetTerm": "bicho",
+ "targetSuffix": "."
+ },
+ {
+ "sourcePrefix": "Not to mention your friend the ",
+ "sourceTerm": "bug",
+ "sourceSuffix": ".",
+ "targetPrefix": "Aparte de tu amigo, el ",
+ "targetTerm": "bicho",
+ "targetSuffix": "."
+ },
+ {
+ "sourcePrefix": "Get on the magic ",
+ "sourceTerm": "bug",
+ "sourceSuffix": ".",
+ "targetPrefix": "Suban al ",
+ "targetTerm": "bicho",
+ "targetSuffix": " mágico."
+ },
+ {
+ "sourcePrefix": "Because this ",
+ "sourceTerm": "bug",
+ "sourceSuffix": " is not an insect.",
+ "targetPrefix": "Porque este ",
+ "targetTerm": "bicho",
+ "targetSuffix": " no es un insecto."
+ },
+ {
+ "sourcePrefix": "I still taste that ",
+ "sourceTerm": "bug",
+ "sourceSuffix": ".",
+ "targetPrefix": "Aún tengo el sabor de ese ",
+ "targetTerm": "bicho",
+ "targetSuffix": "."
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/dictionaryLookupSuccess.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/dictionaryLookupSuccess.json
new file mode 100644
index 000000000000..06c5fd1d8e3c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/dictionaryLookupSuccess.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "https://api.cognitive.microsofttranslator.com",
+ "api-version": "3.0",
+ "from": "en",
+ "to": "es",
+ "text": [
+ {
+ "text": "bug"
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ },"body":
+ [
+ {
+ "normalizedSource": "bug",
+ "displaySource": "bug",
+ "translations": [
+ {
+ "normalizedTarget": "bicho",
+ "displayTarget": "bicho",
+ "posTag": "NOUN",
+ "confidence": 0.2405,
+ "prefixWord": "",
+ "backTranslations": [
+ {
+ "normalizedText": "bug",
+ "displayText": "bug",
+ "numExamples": 15,
+ "frequencyCount": 315
+ },
+ {
+ "normalizedText": "critter",
+ "displayText": "critter",
+ "numExamples": 5,
+ "frequencyCount": 27
+ },
+ {
+ "normalizedText": "varmint",
+ "displayText": "varmint",
+ "numExamples": 1,
+ "frequencyCount": 4
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/languagesSuccess.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/languagesSuccess.json
new file mode 100644
index 000000000000..e63ca0262496
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/languagesSuccess.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "https://api.cognitive.microsofttranslator.com",
+ "api-version": "3.0",
+ "scope": "translation"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ },"body":
+ {
+ "translation":{
+ "af":{
+ "name":"Afrikaan",
+ "nativeName":"Afrikaans",
+ "dir":"ltr"
+ },
+ "ar":{
+ "name":"Arabic",
+ "nativeName":"العربية",
+ "dir":"rtl"
+ },
+ "ja":{
+ "name":"Japanese",
+ "nativeName":"日本語",
+ "dir":"ltr"
+ },
+ "ko":{
+ "name":"Korean",
+ "nativeName":"한국어",
+ "dir":"ltr"
+ },
+ "th":{
+ "name":"Thai",
+ "nativeName":"ไทย",
+ "dir":"ltr"
+ },
+ "zh-Hans":{
+ "name":"Chinese Simplified",
+ "nativeName":"简体中文",
+ "dir":"ltr"
+ },
+ "zh-Hant":{
+ "name":"Chinese Traditional",
+ "nativeName":"繁體中文",
+ "dir":"ltr"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/translateSuccess.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/translateSuccess.json
new file mode 100644
index 000000000000..afecbdbc62a1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/translateSuccess.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "https://api.cognitive.microsofttranslator.com",
+ "api-version": "3.0",
+ "from": "en",
+ "to": "es",
+ "text": [
+ {
+ "Text": "I would really like to drive your car."
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ },"body": [
+ {
+ "translations": [{
+ "text": "Realmente me gustaría conducir su coche.",
+ "to": "es"
+ }]
+ }
+ ]
+ }
+ }
+}
+
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/transliterateSuccess.json b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/transliterateSuccess.json
new file mode 100644
index 000000000000..59efb0e64af9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/stable/v3.0/examples/transliterateSuccess.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "https://api.cognitive.microsofttranslator.com",
+ "api-version": "3.0",
+ "fromScript": "jpan",
+ "language": "ja",
+ "toScript": "latn",
+ "text": [
+ {
+ "text": "なの"
+ }
+ ]
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ },"body":
+ [{
+ "text": "sodeska",
+ "script": "latn"
+ }]
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/VisualSearch/readme.nodejs.md b/specification/cognitiveservices/data-plane/VisualSearch/readme.nodejs.md
index d779258aeb84..d8206d413a8d 100644
--- a/specification/cognitiveservices/data-plane/VisualSearch/readme.nodejs.md
+++ b/specification/cognitiveservices/data-plane/VisualSearch/readme.nodejs.md
@@ -10,5 +10,5 @@ nodejs:
azure-arm: false
generate-license-txt: true
generate-package-json: true
- generate-readme-md: false
+ generate-readme-md: true
```
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
index b2d89bb0da59..22fe04767512 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
@@ -714,32 +714,7 @@
},
"CognitiveServicesAccountKind": {
"type": "string",
- "description": "Required. Indicates the type of cognitive service account.",
- "enum": [
- "Bing.Autosuggest.v7",
- "Bing.CustomSearch",
- "Bing.Search.v7",
- "Bing.Speech",
- "Bing.SpellCheck.v7",
- "ComputerVision",
- "ContentModerator",
- "CustomSpeech",
- "CustomVision.Prediction",
- "CustomVision.Training",
- "Emotion",
- "Face",
- "LUIS",
- "QnAMaker",
- "SpeakerRecognition",
- "SpeechTranslation",
- "TextAnalytics",
- "TextTranslation",
- "WebLM"
- ],
- "x-ms-enum": {
- "name": "Kind",
- "modelAsString": true
- }
+ "description": "Required. Indicates the type of cognitive service account."
},
"CognitiveServicesAccountUpdateParameters": {
"properties": {
@@ -785,24 +760,7 @@
},
"SkuName": {
"type": "string",
- "description": "The name of SKU.",
- "enum": [
- "F0",
- "P0",
- "P1",
- "P2",
- "S0",
- "S1",
- "S2",
- "S3",
- "S4",
- "S5",
- "S6"
- ],
- "x-ms-enum": {
- "name": "SkuName",
- "modelAsString": true
- }
+ "description": "The name of SKU."
},
"CognitiveServicesAccount": {
"description": "Cognitive Services Account is an Azure resource representing the provisioned account, its type, location and SKU.",
@@ -897,6 +855,10 @@
"internalId": {
"type": "string",
"description": "The internal identifier."
+ },
+ "customSubDomainName": {
+ "type": "string",
+ "description": "Optional subdomain name used for token-based authentication."
}
},
"description": "Properties of Cognitive Services account."
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 15ba153a1219..56df44f80259 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
@@ -112,7 +112,7 @@
},
"x-ms-examples": {
"GetRateCard": {
- "$ref": "./examples/GetRatecard.json"
+ "$ref": "./examples/GetRateCard.json"
}
},
"parameters": [
diff --git a/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/examples/GetRatecard.json b/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/examples/GetRateCard.json
similarity index 100%
rename from specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/examples/GetRatecard.json
rename to specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/examples/GetRateCard.json
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 2e6f4fbf774d..15a3e2e6025c 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
@@ -4226,7 +4226,7 @@
"properties": {
"computerName": {
"type": "string",
- "description": "Specifies the host OS name of the virtual machine.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
},
"adminUsername": {
"type": "string",
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 ecf037f0279d..31600d55e6d4 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
@@ -3237,7 +3237,7 @@
"properties": {
"vmSize": {
"type": "string",
- "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:
[List all available virtual machine sizes in an availability set](virtualmachines-list-sizes-availability-set.md)
[List all available virtual machine sizes in a region](virtualmachines-list-sizes-region.md)
[List all available virtual machine sizes for resizing](virtualmachines-list-sizes-for-resizing.md)",
+ "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:
[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)
[List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)
[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)",
"enum": [
"Basic_A0",
"Basic_A1",
@@ -3672,7 +3672,7 @@
},
"certificateStore": {
"type": "string",
- "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted."
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
}
},
"description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
@@ -3697,7 +3697,7 @@
"properties": {
"computerName": {
"type": "string",
- "description": "Specifies the host OS name of the virtual machine.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
},
"adminUsername": {
"type": "string",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2016-03-30/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2016-03-30/compute.json
index 3bf31e40bb76..51c7a6ade91b 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2016-03-30/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2016-03-30/compute.json
@@ -3326,7 +3326,7 @@
"properties": {
"vmSize": {
"type": "string",
- "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:
[List all available virtual machine sizes in an availability set](virtualmachines-list-sizes-availability-set.md)
[List all available virtual machine sizes in a region](virtualmachines-list-sizes-region.md)
[List all available virtual machine sizes for resizing](virtualmachines-list-sizes-for-resizing.md)",
+ "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:
[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)
[List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)
[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)",
"enum": [
"Basic_A0",
"Basic_A1",
@@ -3769,7 +3769,7 @@
},
"certificateStore": {
"type": "string",
- "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted."
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
}
},
"description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
@@ -3794,7 +3794,7 @@
"properties": {
"computerName": {
"type": "string",
- "description": "Specifies the host OS name of the virtual machine.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
},
"adminUsername": {
"type": "string",
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 8a8e5e5e9ab4..7b39f2a0a06b 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
@@ -4346,7 +4346,7 @@
"properties": {
"vmSize": {
"type": "string",
- "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:
[List all available virtual machine sizes in an availability set](virtualmachines-list-sizes-availability-set.md)
[List all available virtual machine sizes in a region](virtualmachines-list-sizes-region.md)
[List all available virtual machine sizes for resizing](virtualmachines-list-sizes-for-resizing.md)",
+ "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:
[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)
[List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)
[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)",
"enum": [
"Basic_A0",
"Basic_A1",
@@ -4858,7 +4858,7 @@
},
"certificateStore": {
"type": "string",
- "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted."
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
}
},
"description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
@@ -4883,7 +4883,7 @@
"properties": {
"computerName": {
"type": "string",
- "description": "Specifies the host OS name of the virtual machine.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
},
"adminUsername": {
"type": "string",
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 a2db64ba6b8d..28bd9ec41472 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
@@ -5630,7 +5630,7 @@
},
"certificateStore": {
"type": "string",
- "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted."
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
}
},
"description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
@@ -5655,7 +5655,7 @@
"properties": {
"computerName": {
"type": "string",
- "description": "Specifies the host OS name of the virtual machine.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
},
"adminUsername": {
"type": "string",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/compute.json
index 40ae01b53db6..8f2a19dbf908 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-04-01/compute.json
@@ -5459,7 +5459,7 @@
},
"certificateStore": {
"type": "string",
- "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted."
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
}
},
"description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
@@ -5484,7 +5484,7 @@
"properties": {
"computerName": {
"type": "string",
- "description": "Specifies the host OS name of the virtual machine.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
},
"adminUsername": {
"type": "string",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json
index e43aead20e3a..f2b7986979d6 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/compute.json
@@ -2152,7 +2152,7 @@
"type": "string",
"description": "The name of the resource group."
},
- {
+ {
"name": "vmName",
"in": "path",
"required": true,
@@ -5632,7 +5632,7 @@
},
"certificateStore": {
"type": "string",
- "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted."
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
}
},
"description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
@@ -5657,7 +5657,7 @@
"properties": {
"computerName": {
"type": "string",
- "description": "Specifies the host OS name of the virtual machine.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
},
"adminUsername": {
"type": "string",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/disk.json
index 05cee4453694..d63679f08d75 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/disk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/disk.json
@@ -879,12 +879,12 @@
"diskIOPSReadWrite": {
"type":"integer",
"format": "int64",
- "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes. For a description of the range of values you can set, see [Ultra SSD Managed Disk Offerings](https://docs.microsoft.com/azure/virtual-machines/windows/disks-ultra-ssd#ultra-ssd-managed-disk-offerings)."
},
"diskMBpsReadWrite": {
"type":"integer",
"format": "int32",
- "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10. For a description of the range of values you can set, see [Ultra SSD Managed Disk Offerings](https://docs.microsoft.com/azure/virtual-machines/windows/disks-ultra-ssd#ultra-ssd-managed-disk-offerings)."
}
},
"required": [
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/CreateAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/CreateAProximityPlacementGroup.json
new file mode 100644
index 000000000000..674a839160f9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/CreateAProximityPlacementGroup.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-06-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/DeleteAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/DeleteAProximityPlacementGroup.json
new file mode 100644
index 000000000000..6aa01d389484
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/DeleteAProximityPlacementGroup.json
@@ -0,0 +1,16 @@
+{
+ "parameters":{
+ "subscriptionId":"{subscription-id}",
+ "resourceGroupName":"myResourceGroup",
+ "api-version":"2018-06-01",
+ "proximityPlacementGroupName":"myProximityPlacementGroup",
+ "parameters":{
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/GetAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/GetAProximityPlacementGroup.json
new file mode 100644
index 000000000000..72ca4914e3b9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/GetAProximityPlacementGroup.json
@@ -0,0 +1,39 @@
+{
+ "parameters":{
+ "subscriptionId":"{subscription-id}",
+ "resourceGroupName":"myResourceGroup",
+ "api-version":"2018-06-01",
+ "proximityPlacementGroupName":"myProximityPlacementGroup",
+ "parameters":{
+
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "name":"myProximityPlacementGroup",
+ "properties":{
+ "proximityPlacementGroupType":"Standard",
+ "virtualMachines":[
+ {
+ "id":"string"
+ }
+ ],
+ "virtualMachineScaleSets":[
+ {
+ "id":"string"
+ }
+ ],
+ "availabilitySets":[
+ {
+ "id":"string"
+ }
+ ]
+ },
+ "location":"westus",
+ "type":"Microsoft.Compute/proximityPlacementGroups",
+ "id":"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListProximityPlacementGroupsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
new file mode 100644
index 000000000000..61b2c559e081
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters":{
+ "subscriptionId":"{subscription-id}",
+ "resourceGroupName":"myResourceGroup",
+ "api-version":"2018-06-01",
+ "parameters":{
+
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":"myProximityPlacementGroup",
+ "properties":{
+ "proximityPlacementGroupType":"Standard",
+ "virtualMachines":[
+ {
+ "id":"string"
+ }
+ ],
+ "virtualMachineScaleSets":[
+ {
+ "id":"string"
+ }
+ ],
+ "availabilitySets":[
+ {
+ "id":"string"
+ }
+ ]
+ },
+ "location":"westus",
+ "type":"Microsoft.Compute/proximityPlacementGroups",
+ "id":"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ ],
+ "nextLink":"string"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListProximityPlacementGroupsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListProximityPlacementGroupsInASubscription.json
new file mode 100644
index 000000000000..1013aa13cf60
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/ListProximityPlacementGroupsInASubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters":{
+ "subscriptionId":"{subscription-id}",
+ "api-version":"2018-06-01",
+ "parameters":{
+
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":"myProximityPlacementGroup",
+ "properties":{
+ "proximityPlacementGroupType":"Standard",
+ "virtualMachines":[
+ {
+ "id":"string"
+ }
+ ],
+ "virtualMachineScaleSets":[
+ {
+ "id":"string"
+ }
+ ],
+ "availabilitySets":[
+ {
+ "id":"string"
+ }
+ ]
+ },
+ "location":"westus",
+ "type":"Microsoft.Compute/proximityPlacementGroups",
+ "id":"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ ],
+ "nextLink":"string"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/PatchAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/PatchAProximityPlacementGroup.json
new file mode 100644
index 000000000000..dd851d654a6c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-06-01/examples/PatchAProximityPlacementGroup.json
@@ -0,0 +1,27 @@
+{
+ "parameters":{
+ "subscriptionId":"{subscription-id}",
+ "resourceGroupName":"myResourceGroup",
+ "api-version":"2018-06-01",
+ "proximityPlacementGroupName":"myProximityPlacementGroup",
+ "parameters":{
+ "location":"westus",
+ "tags":{
+ "additionalProp1":"string"
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "name":"myProximityPlacementGroup",
+ "properties":{
+ "proximityPlacementGroupType":"Standard"
+ },
+ "location":"westus",
+ "type":"Microsoft.Compute/proximityPlacementGroups",
+ "id":"/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/disk.json
new file mode 100644
index 000000000000..91173743a186
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/disk.json
@@ -0,0 +1,1312 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DiskResourceProviderClient",
+ "description": "The Disk Resource Provider Client.",
+ "version": "2018-09-30"
+ },
+ "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.Compute/disks/{diskName}": {
+ "put": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_CreateOrUpdate",
+ "description": "Creates or updates a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "Disk object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description":"Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "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": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Update",
+ "description": "Updates (patches) a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskUpdate"
+ },
+ "description": "Disk object supplied in the body of the Patch disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Get",
+ "description": "Gets information about a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a managed disk.": {
+ "$ref": "./examples/GetInformationAboutAManagedDisk.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Delete",
+ "description": "Deletes a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_ListByResourceGroup",
+ "description": "Lists all the disks under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a resource group.": {
+ "$ref": "./examples/ListManagedDisksInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_List",
+ "description": "Lists all the disks under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a subscription.": {
+ "$ref": "./examples/ListManagedDisksInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_GrantAccess",
+ "description": "Grants access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_RevokeAccess",
+ "description": "Revokes access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}": {
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_CreateOrUpdate",
+ "description": "Creates or updates a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "Snapshot object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "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": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Update",
+ "description": "Updates (patches) a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SnapshotUpdate"
+ },
+ "description": "Snapshot object supplied in the body of the Patch snapshot operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "description": "Gets information about a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a snapshot.": {
+ "$ref": "./examples/GetInformationAboutASnapshot.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "description": "Deletes a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the snapshot is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_ListByResourceGroup",
+ "description": "Lists snapshots under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a resource group.": {
+ "$ref": "./examples/ListSnapshotsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "description": "Lists snapshots under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a subscription.": {
+ "$ref": "./examples/ListSnapshotsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_GrantAccess",
+ "description": "Grants access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get snapshot access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_RevokeAccess",
+ "description": "Revokes access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "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": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "Disk": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A relative URI containing the ID of the VM that has the disk attached."
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Logical zone list for Disk."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Disk resource."
+ },
+ "DiskUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ }
+ },
+ "description": "Disk update resource."
+ },
+ "DiskList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "A list of disks."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Disks operation response."
+ },
+ "DiskSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "DiskStorageAccountTypes",
+ "modelAsString": true
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "default": "Standard",
+ "description": "The sku tier."
+ }
+ },
+ "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS."
+ },
+ "SnapshotSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "Standard_ZRS"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotStorageAccountTypes",
+ "modelAsString": true
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "default": "Standard",
+ "description": "The sku tier."
+ }
+ },
+ "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS."
+ },
+ "DiskProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "Disk source information. CreationData information cannot be changed after the disk has been created."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk provisioning state."
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ },
+ "diskState": {
+ "type": "string",
+ "description": "The state of the disk.",
+ "readOnly": true,
+ "enum": [
+ "Unattached",
+ "Attached",
+ "Reserved",
+ "ActiveSAS",
+ "ReadyToUpload",
+ "ActiveUpload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskState",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Disk resource properties."
+ },
+ "SnapshotProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "Disk source information. CreationData information cannot be changed after the disk has been created."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk provisioning state."
+ }
+ },
+ "required": [
+ "creationData"
+ ],
+ "description": "Snapshot resource properties."
+ },
+ "EncryptionSettingsCollection": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged."
+ },
+ "encryptionSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EncryptionSettingsElement"
+ },
+ "description": "A collection of encryption settings, one for each disk volume."
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "Encryption settings for disk or snapshot"
+ },
+ "EncryptionSettingsElement": {
+ "properties": {
+ "diskEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndSecretReference",
+ "description": "Key Vault Secret Url and vault id of the disk encryption key"
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference",
+ "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key."
+ }
+ },
+ "description": "Encryption settings for one disk volume."
+ },
+ "KeyVaultAndSecretReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "secretUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "secretUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Secret Url and vault id of the encryption key "
+ },
+ "KeyVaultAndKeyReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "keyUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "keyUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey"
+ },
+ "SourceVault": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"
+ },
+ "DiskUpdateProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10."
+ }
+ },
+ "description": "Disk resource update properties."
+ },
+ "SnapshotUpdateProperties": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "the Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ }
+ },
+ "description": "Snapshot resource update properties."
+ },
+ "CreationData": {
+ "properties": {
+ "createOption": {
+ "type": "string",
+ "enum": [
+ "Empty",
+ "Attach",
+ "FromImage",
+ "Import",
+ "Copy",
+ "Restore",
+ "Upload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskCreateOption",
+ "modelAsString": true
+ },
+ "description": "This enumerates the possible sources of a disk's creation."
+ },
+ "storageAccountId": {
+ "type": "string",
+ "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription"
+ },
+ "imageReference": {
+ "$ref": "#/definitions/ImageDiskReference",
+ "description": "Disk source information."
+ },
+ "sourceUri": {
+ "type": "string",
+ "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk."
+ },
+ "sourceResourceId": {
+ "type": "string",
+ "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk."
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Data used when creating a disk."
+ },
+ "ImageDiskReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A relative uri containing either a Platform Image Repository or user image reference."
+ },
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "The source image used for creating the disk."
+ },
+ "GrantAccessData": {
+ "properties": {
+ "access": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Read",
+ "Write"
+ ],
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "durationInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Time duration in seconds until the SAS access expires."
+ }
+ },
+ "required": [
+ "access",
+ "durationInSeconds"
+ ],
+ "description": "Data used for requesting a SAS."
+ },
+ "AccessUri": {
+ "properties": {
+ "accessSAS": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A SAS uri for accessing a disk."
+ }
+ },
+ "description": "A disk access SAS uri."
+ },
+ "Snapshot": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unused. Always Null."
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Snapshot resource."
+ },
+ "SnapshotUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ }
+ },
+ "description": "Snapshot update resource."
+ },
+ "SnapshotList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "A list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Snapshots operation 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."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskNameParameter": {
+ "name": "diskName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "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": {
+ "name": "snapshotName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "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/2018-09-30/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskByCopyingASnapshot.json
new file mode 100644
index 000000000000..5ac0f4e197e8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskByCopyingASnapshot.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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"
+ }
+ }
+ }
+ },
+ "200": {
+ "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/2018-09-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..a97c773a1e16
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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"
+ }
+ }
+ }
+ },
+ "200": {
+ "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/2018-09-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..36fd459a37b2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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"
+ }
+ }
+ }
+ },
+ "200": {
+ "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/2018-09-30/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskFromAPlatformImage.json
new file mode 100644
index 000000000000..6f3a16a814ae
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskFromAPlatformImage.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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}"
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "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/2018-09-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
new file mode 100644
index 000000000000..1f709e47bf69
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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"
+ }
+ },
+ "200": {
+ "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/2018-09-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..7ec521677a5e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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"
+ }
+ },
+ "200": {
+ "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/2018-09-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..4f2e82c8446f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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"
+ }
+ },
+ "200": {
+ "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/2018-09-30/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateASnapshotFromAnExistingSnapshot.json
new file mode 100644
index 000000000000..052ffccff595
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateASnapshotFromAnExistingSnapshot.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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"
+ }
+ }
+ }
+ },
+ "200": {
+ "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/2018-09-30/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAnEmptyManagedDisk.json
new file mode 100644
index 000000000000..e8287174e484
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/CreateAnEmptyManagedDisk.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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"
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 200,
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/GetInformationAboutAManagedDisk.json
new file mode 100644
index 000000000000..95aa56d4b9fe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/GetInformationAboutAManagedDisk.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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/2018-09-30/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/GetInformationAboutASnapshot.json
new file mode 100644
index 000000000000..c678764f1009
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/GetInformationAboutASnapshot.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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/2018-09-30/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/ListManagedDisksInAResourceGroup.json
new file mode 100644
index 000000000000..a00d2d7e1b76
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/ListManagedDisksInAResourceGroup.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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/2018-09-30/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/ListManagedDisksInASubscription.json
new file mode 100644
index 000000000000..c5079200d0fc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/ListManagedDisksInASubscription.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId":"{subscription-id}",
+ "api-version": "2018-09-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/2018-09-30/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/ListSnapshotsInAResourceGroup.json
new file mode 100644
index 000000000000..6eb615c30790
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/ListSnapshotsInAResourceGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-09-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/2018-09-30/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/ListSnapshotsInASubscription.json
new file mode 100644
index 000000000000..cf2324255ffc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-09-30/examples/ListSnapshotsInASubscription.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2018-09-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/2018-10-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json
index 12aeabee2a5a..5602ef217564 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2018-10-01/compute.json
@@ -2159,13 +2159,13 @@
"type": "string",
"description": "The name of the virtual machine."
},
- {
+ {
"name": "parameters",
"in": "body",
"required": false,
"schema": {
"$ref": "#/definitions/VirtualMachineReimageParameters"
- },
+ },
"description": "Parameters supplied to the Reimage Virtual Machine operation."
},
{
@@ -4430,10 +4430,10 @@
"Aligned"
],
"x-ms-enum": {
- "name": "AvailabilitySetSkuTypes",
+ "name": "AvailabilitySetSkuTypes",
"modelAsString": true
}
- },
+ },
"AvailabilitySet": {
"properties": {
"properties": {
@@ -4814,8 +4814,8 @@
"AutomaticOSUpgradeProperties": {
"properties": {
"automaticOSUpgradeSupported": {
- "type": "boolean",
- "description": "Specifies whether automatic OS upgrade is supported on the image."
+ "type": "boolean",
+ "description": "Specifies whether automatic OS upgrade is supported on the image."
}
},
"required": [
@@ -5395,7 +5395,7 @@
"description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
},
"diffDiskSettings": {
- "$ref": "#/definitions/DiffDiskSettings",
+ "$ref": "#/definitions/DiffDiskSettings",
"description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine."
},
"createOption": {
@@ -5647,7 +5647,7 @@
},
"certificateStore": {
"type": "string",
- "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted."
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
}
},
"description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
@@ -5672,7 +5672,7 @@
"properties": {
"computerName": {
"type": "string",
- "description": "Specifies the host OS name of the virtual machine.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
},
"adminUsername": {
"type": "string",
@@ -6566,7 +6566,7 @@
"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."
},
"diffDiskSettings": {
- "$ref": "#/definitions/DiffDiskSettings",
+ "$ref": "#/definitions/DiffDiskSettings",
"description": "Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set."
},
"diskSizeGB": {
@@ -7801,6 +7801,10 @@
"type": "boolean",
"description": "Specifies whether the latest model has been applied to the virtual machine."
},
+ "protectFromScaleIn" : {
+ "type": "boolean",
+ "description": "Specifies whether the virtual machine instance shouldn't be considered for deletion during a scale-in operation"
+ },
"vmId": {
"readOnly": true,
"type": "string",
diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md
index b8a23076a955..e72086c026b7 100644
--- a/specification/compute/resource-manager/readme.md
+++ b/specification/compute/resource-manager/readme.md
@@ -9,7 +9,7 @@ The compute 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 compute client library.
-This makes it easier for customers to download one (nuget/npm/pip/maven/gem) compute client library package rather than installing individual packages for each sub service.
+This makes it easier for customers to download one (NuGet/npm/pip/maven/gem) compute client library package rather than installing individual packages for each sub service.
---
@@ -34,7 +34,7 @@ These are the global settings for the Compute API.
title: ComputeManagementClient
description: Compute Client
openapi-type: arm
-tag: package-2018-10-01
+tag: package-2018-10-01-Disks
directive:
- where:
@@ -177,7 +177,28 @@ directive:
suppress:
- DefinitionsPropertiesNamesCamelCase
+ - where:
+ - $.definitions.ContainerService
+ suppress:
+ - TrackedResourcePatchOperation
+ reason:
+ - ACS service is deprecated so a PATCH endpoint won't be implemented
+
```
+### Tag: package-2018-10-01-Disks
+
+These settings apply only when `--tag=package-2018-10-01-Disks` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-10-01-Disks'
+input-file:
+- Microsoft.Compute/stable/2018-10-01/compute.json
+- Microsoft.Compute/stable/2018-10-01/runCommands.json
+- Microsoft.Compute/stable/2017-09-01/skus.json
+- Microsoft.Compute/stable/2018-09-30/disk.json
+- Microsoft.Compute/stable/2018-06-01/gallery.json
+- Microsoft.ContainerService/stable/2017-01-31/containerService.json
+```
+
### Tag: package-2018-10-01
These settings apply only when `--tag=package-2018-10-01` is specified on the command line.
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-10-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-10-01/consumption.json
index d28a411e6930..e297bf311bb2 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-10-01/consumption.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-10-01/consumption.json
@@ -2702,6 +2702,53 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/tenants": {
+ "get": {
+ "tags": [
+ "Tenants"
+ ],
+ "x-ms-examples": {
+ "TenantPropertiesGet": {
+ "$ref": "./examples/TenantsGet.json"
+ }
+ },
+ "operationId": "Tenants_Get",
+ "description": "Gets a Tenant Properties.",
+ "parameters": [
+ {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "Billing Account Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "billingProfileId",
+ "in": "path",
+ "description": "Billing Profile Id.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/TenantListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Consumption/marketplaces": {
"get": {
"tags": [
@@ -3088,6 +3135,65 @@
}
}
},
+ "Tenant": {
+ "description": "An tenant detail resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TenantProperties",
+ "title": "Usage detail properties"
+ }
+ }
+ },
+ "TenantProperties": {
+ "description": "The properties of the tenants.",
+ "properties": {
+ "billingProfileName": {
+ "description": "The Billing Profile name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingAccountId": {
+ "description": "The Billing AccountId.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The TenantId.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingAccountName": {
+ "description": "The Billing Account Name.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TenantListResult": {
+ "description": "A Tenant properties Resource",
+ "properties": {
+ "value": {
+ "description": "The list of tenant details.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Tenant"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"MarketplacesListResult": {
"description": "Result of listing marketplaces. It contains a list of available marketplaces in reverse chronological order by billing period.",
"type": "object",
@@ -4195,19 +4301,19 @@
"$ref": "#/definitions/ManagementGroupAggregatedCostResult"
}
},
- "includedSubscriptions": {
+ "includedSubscriptions": {
"description": "List of subscription Guids included in the calculation of aggregated cost",
- "type": "array",
+ "type": "array",
"items": {
"type": "string"
- }
+ }
},
- "excludedSubscriptions": {
+ "excludedSubscriptions": {
"description": "List of subscription Guids excluded from the calculation of aggregated cost",
- "type": "array",
+ "type": "array",
"items": {
"type": "string"
- }
+ }
}
}
},
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-10-01/examples/TenantsGet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-10-01/examples/TenantsGet.json
new file mode 100644
index 000000000000..2ebd7260dbf6
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2018-10-01/examples/TenantsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingProfileId": "dd21e577-ec81-45ec-b08a-622213737978",
+ "billingAccountId": "0d49b9e9-dfe7-536e-ede4-bae1d63adbb7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/billingAccounts/0d49b9e9-dfe7-536e-ede4-bae1d63adbb7/billingProfiles/dd21e577-ec81-45ec-b08a-622213737978/providers/Microsoft.Consumption/tenants/tenant1",
+ "name": "tenant1",
+ "type": "Microsoft.Consumption/tenants",
+ "properties": {
+ "billingProfileName": "PayByCheck01",
+ "billingAccountName": "Create Customer",
+ "tenantId": "251d3d06-c6e0-487b-bd5e-5c2e4c23d51a",
+ "BillingAccountId": "0d49b9e9-dfe7-536e-ede4-bae1d63adbb7"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/consumption.json
new file mode 100644
index 000000000000..cd04975c9a91
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/consumption.json
@@ -0,0 +1,2946 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "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": {
+ "/{scope}/providers/Microsoft.Consumption/usageDetails": {
+ "get": {
+ "tags": [
+ "UsageDetails"
+ ],
+ "operationId": "UsageDetails_List",
+ "description": "Lists the usage details for the defined scope. 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"
+ },
+ "UsageDetailsListFilterByTag": {
+ "$ref": "./examples/UsageDetailsListFilterByTag.json"
+ },
+ "UsageDetailsListGroupByTagDate": {
+ "$ref": "./examples/UsageDetailsListGroupByTagDate.json"
+ },
+ "UsageDetailsListForBillingPeriod": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriod.json"
+ },
+ "UsageDetailsExpand": {
+ "$ref": "./examples/UsageDetailsExpand.json"
+ },
+ "UsageDetailsListForBillingPeriodGroupByTag": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriodGroupByTag.json"
+ },
+ "BillingAccountUsageDetailsList": {
+ "$ref": "./examples/UsageDetailsListByBillingAccount.json"
+ },
+ "BillingAccountUsageDetailsListForBillingPeriod": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriodByBillingAccount.json"
+ },
+ "DepartmentUsageDetailsList": {
+ "$ref": "./examples/UsageDetailsListByDepartment.json"
+ },
+ "DepartmentUsageDetailsListForBillingPeriod": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriodByDepartment.json"
+ },
+ "EnrollmentAccountUsageDetailsList": {
+ "$ref": "./examples/UsageDetailsListByEnrollmentAccount.json"
+ },
+ "EnrollmentAccountUsageDetailsListForBillingPeriod": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json"
+ },
+ "ManagementGroupUsageDetailsList": {
+ "$ref": "./examples/UsageDetailsListByManagementGroup.json"
+ },
+ "ManagementGroupUsageDetailsListForBillingPeriod": {
+ "$ref": "./examples/UsageDetailsListForBillingPeriodByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeUsageDetailsParameter"
+ },
+ {
+ "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, properties/instanceId or tags. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).",
+ "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
+ },
+ {
+ "name": "$apply",
+ "description": "OData apply expression to aggregate usageDetails by tags or (tags and properties/usageStart)",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Apply"
+ },
+ {
+ "$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"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/marketplaces": {
+ "get": {
+ "tags": [
+ "Marketplaces"
+ ],
+ "x-ms-odata": "#/definitions/Marketplace",
+ "operationId": "Marketplaces_List",
+ "description": "Lists the marketplaces for a scope at the defined scope. 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": {
+ "SubscriptionMarketplacesList": {
+ "$ref": "./examples/MarketplacesList.json"
+ },
+ "SubscriptionMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesListForBillingPeriod.json"
+ },
+ "BillingAccountMarketplacesList": {
+ "$ref": "./examples/MarketplacesByBillingAccountList.json"
+ },
+ "BillingAccountMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesByBillingAccountListForBillingPeriod.json"
+ },
+ "DepartmentMarketplacesList": {
+ "$ref": "./examples/MarketplacesByDepartmentList.json"
+ },
+ "DepartmentMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesByDepartment_ListByBillingPeriod.json"
+ },
+ "EnrollmentAccountMarketplacesList": {
+ "$ref": "./examples/MarketplacesByEnrollmentAccountList.json"
+ },
+ "EnrollmentAccountMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json"
+ },
+ "ManagementGroupMarketplacesList": {
+ "$ref": "./examples/MarketplacesByManagementGroupList.json"
+ },
+ "ManagementGroupMarketplacesListForBillingPeriod": {
+ "$ref": "./examples/MarketplacesByManagementGroup_ListForBillingPeriod.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/scopeMarketplaceParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "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"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/budgets": {
+ "get": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_List",
+ "description": "Lists all budgets for the defined scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "BudgetsList": {
+ "$ref": "./examples/BudgetsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeBudgetParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "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"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/budgets/{budgetName}": {
+ "get": {
+ "tags": [
+ "Budgets"
+ ],
+ "operationId": "Budgets_Get",
+ "description": "Gets the budget for the scope 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/scopeBudgetParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$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/scopeBudgetParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$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/scopeBudgetParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/budgetNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/tags": {
+ "get": {
+ "tags": [
+ "Tags"
+ ],
+ "operationId": "Tags_Get",
+ "description": "Get all available tag keys for the defined scope",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "Tags_Get": {
+ "$ref": "./examples/Tags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeTagsParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/TagsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Consumption/charges": {
+ "get": {
+ "tags": [
+ "Charges"
+ ],
+ "operationId": "Charges_ListByScope",
+ "description": "Lists the charges based for the defined scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ChargesListForEnrollmentAccount": {
+ "$ref": "./examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json"
+ },
+ "ChangesForBillingPeriodByEnrollmentAccount": {
+ "$ref": "./examples/ChargesForBillingPeriodByEnrollmentAccount.json"
+ },
+ "ChargesListByDepartment": {
+ "$ref": "./examples/ChargesListForDepartmentFilterByStartEndDate.json"
+ },
+ "ChangesForBillingPeriodByDepartment": {
+ "$ref": "./examples/ChargesForBillingPeriodByDepartment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeChargesParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter charges by properties/usageEnd (Utc time), properties/usageStart (Utc time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ChargeSummary"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances": {
+ "get": {
+ "tags": [
+ "Balances"
+ ],
+ "operationId": "Balances_GetByBillingAccount",
+ "description": "Gets the balances for a scope by billingAccountId. Balances 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": {
+ "Balances": {
+ "$ref": "./examples/BalancesByBillingAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Balance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances": {
+ "get": {
+ "tags": [
+ "Balances"
+ ],
+ "operationId": "Balances_GetForBillingPeriodByBillingAccount",
+ "description": "Gets the balances for a scope by billing period and billingAccountId. Balances 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": {
+ "Balances": {
+ "$ref": "./examples/BalancesByBillingAccountForBillingPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingPeriodNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Balance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/grainParameter"
+ },
+ {
+ "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"
+ },
+ {
+ "$ref": "#/parameters/grainParameter"
+ },
+ {
+ "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/reservationRecommendations": {
+ "get": {
+ "tags": [
+ "ReservationRecommendations"
+ ],
+ "operationId": "ReservationRecommendations_List",
+ "description": "List of recommendations for purchasing reserved instances.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationRecommendations": {
+ "$ref": "./examples/ReservationRecommendationsList.json"
+ },
+ "ReservationRecommendationsFilterByScopeLookBackPeriod": {
+ "$ref": "./examples/ReservationRecommendationsFilterByScopeLookBackPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter reservationRecommendations by properties/scope and properties/lookBackPeriod.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ReservationRecommendationsListResult"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/forecasts": {
+ "get": {
+ "tags": [
+ "Forecasts"
+ ],
+ "x-ms-odata": "#/definitions/Forecast",
+ "operationId": "Forecasts_List",
+ "description": "Lists the forecast charges by subscriptionId.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ForecastsList": {
+ "$ref": "./examples/ForecastsList.json"
+ },
+ "ForecastsListFilterByGrain": {
+ "$ref": "./examples/ForecastsListFilterByGrain.json"
+ },
+ "ForecastsListFilterByDates": {
+ "$ref": "./examples/ForecastsListFilterByDates.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. 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"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ForecastsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Consumption/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available consumption REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Consumption/aggregatedcost": {
+ "get": {
+ "tags": [
+ "AggregatedCost"
+ ],
+ "operationId": "AggregatedCost_GetByManagementGroup",
+ "description": "Provides the aggregate cost of a management group and all child management groups by current billing period.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "AggregatedCostByManagementGroup": {
+ "$ref": "./examples/AggregatedCostByManagementGroup.json"
+ },
+ "AggregatedCostByManagementGroupFilterByDate": {
+ "$ref": "./examples/AggregatedCostByManagementGroupFilterByDate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter aggregated cost by properties/usageStart (Utc time), properties/usageEnd (Utc time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroupAggregatedCostResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/Microsoft.Consumption/aggregatedcost": {
+ "get": {
+ "tags": [
+ "AggregatedCost"
+ ],
+ "operationId": "AggregatedCost_GetForBillingPeriodByManagementGroup",
+ "description": "Provides the aggregate cost of a management group and all child management groups by specified billing period",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "AggregatedCostListForBillingPeriodByManagementGroup": {
+ "$ref": "./examples/AggregatedCostForBillingPeriodByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingPeriodNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ManagementGroupAggregatedCostResult"
+ }
+ },
+ "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
+ },
+ "serviceName": {
+ "description": "The name of the service.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceTier": {
+ "description": "The service tier.",
+ "type": "string",
+ "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 (GUID).",
+ "type": "string",
+ "format": "uuid",
+ "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",
+ "format": "uuid",
+ "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
+ },
+ "partNumber": {
+ "description": "Part Number",
+ "type": "string",
+ "readOnly": true
+ },
+ "resourceGuid": {
+ "description": "Resource Guid",
+ "type": "string",
+ "readOnly": true
+ },
+ "offerId": {
+ "description": "Offer Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "chargesBilledSeparately": {
+ "description": "Charges billed separately",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Resource Location",
+ "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 (GUID).",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "subscriptionGuid": {
+ "description": "Subscription guid.",
+ "type": "string",
+ "format": "uuid",
+ "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
+ },
+ "isRecurringCharge": {
+ "description": "Flag indicating whether this is a recurring charge or not.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "Balance": {
+ "description": "A balance resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BalanceProperties",
+ "title": "Balance properties"
+ }
+ }
+ },
+ "BalanceProperties": {
+ "description": "The properties of the balance.",
+ "type": "object",
+ "properties": {
+ "currency": {
+ "description": "The ISO currency in which the meter is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "beginningBalance": {
+ "description": "The beginning balance for the billing period.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "endingBalance": {
+ "description": "The ending balance for the billing period (for open periods this will be updated daily).",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "newPurchases": {
+ "description": "Total new purchase amount.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "adjustments": {
+ "description": "Total adjustment amount.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "utilized": {
+ "description": "Total Commitment usage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "serviceOverage": {
+ "description": "Overage for Azure services.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "chargesBilledSeparately": {
+ "description": "Charges Billed separately.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "totalOverage": {
+ "description": "serviceOverage + chargesBilledSeparately.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "totalUsage": {
+ "description": "Azure service commitment + total Overage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "azureMarketplaceServiceCharges": {
+ "description": "Total charges for Azure Marketplace.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "billingFrequency": {
+ "description": "The billing frequency.",
+ "type": "string",
+ "enum": [
+ "Month",
+ "Quarter",
+ "Year"
+ ],
+ "x-ms-enum": {
+ "name": "BillingFrequency",
+ "modelAsString": true
+ }
+ },
+ "priceHidden": {
+ "description": "Price is hidden or not.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "newPurchasesDetails": {
+ "description": "List of new purchases.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "the name of new purchase.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "the value of new purchase.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "readOnly": true
+ },
+ "adjustmentDetails": {
+ "description": "List of Adjustments (Promo credit, SIE credit etc.).",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "the name of new adjustment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "the value of new adjustment.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationSummary": {
+ "description": "reservation summary resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationSummaryProperties",
+ "title": "Reservation Summary properties"
+ }
+ }
+ },
+ "ReservationSummariesListResult": {
+ "description": "Result of listing reservation summaries.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation summaries.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationSummary"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationSummaryProperties": {
+ "description": "The properties of the reservation summary.",
+ "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 additional info 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
+ }
+ }
+ },
+ "ReservationDetail": {
+ "description": "reservation detail resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationDetailProperties",
+ "title": "Reservation Detail properties"
+ }
+ }
+ },
+ "ReservationDetailsListResult": {
+ "description": "Result of listing reservation details.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation details.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationDetail"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationDetailProperties": {
+ "description": "The properties of the reservation detail.",
+ "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 additional info 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
+ }
+ }
+ },
+ "ReservationRecommendation": {
+ "description": "Reservation recommendation resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "$ref": "#/definitions/ResourceAttributes"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReservationRecommendationProperties",
+ "title": "Reservation Recommendation properties"
+ }
+ }
+ },
+ "ReservationRecommendationsListResult": {
+ "description": "Result of listing reservation recommendations.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation recommendations.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReservationRecommendation"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReservationRecommendationProperties": {
+ "description": "The properties of the reservation recommendation.",
+ "properties": {
+ "lookBackPeriod": {
+ "description": "The number of days of usage to look back for recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterId": {
+ "description": "The meter id (GUID)",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "term": {
+ "description": "RI recommendations in one or three year terms.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costWithNoReservedInstances": {
+ "description": "The total amount of cost without reserved instances.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "recommendedQuantity": {
+ "description": "Recommended quality for reserved instances.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "totalCostWithReservedInstances": {
+ "description": "The total amount of cost with reserved instances.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "netSavings": {
+ "description": "Total estimated savings with reserved instances.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "firstUsageDate": {
+ "description": "The usage date for looking back.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "scope": {
+ "description": "Shared or single recommendation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TagsResult": {
+ "description": "A resource listing all tags.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagProperties",
+ "title": "Tag properties"
+ }
+ }
+ },
+ "TagProperties": {
+ "description": "The properties of the tag.",
+ "properties": {
+ "tags": {
+ "description": "A list of Tag.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Tag"
+ }
+ }
+ }
+ },
+ "Tag": {
+ "description": "The tag resource.",
+ "properties": {
+ "key": {
+ "description": "Tag key.",
+ "type": "string"
+ }
+ }
+ },
+ "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 period. 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 (GUID), mandatory for budgets of usage category. ",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ },
+ "minItems": 0,
+ "maxItems": 10
+ },
+ "tags": {
+ "type": "object",
+ "description": "The dictionary of filters on tags.",
+ "additionalProperties": {
+ "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"
+ ]
+ },
+ "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 (GUID)",
+ "type": "string",
+ "format": "uuid",
+ "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
+ },
+ "offerId": {
+ "description": "Offer Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Forecast": {
+ "description": "A forecast resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ForecastProperties",
+ "title": "Forecast properties"
+ }
+ }
+ },
+ "ForecastsListResult": {
+ "description": "Result of listing forecasts. It contains a list of available forecasts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of forecasts.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Forecast"
+ }
+ }
+ }
+ },
+ "ForecastProperties": {
+ "description": "The properties of the forecast charge.",
+ "type": "object",
+ "properties": {
+ "usageDate": {
+ "description": "The usage date of the forecast.",
+ "type": "string",
+ "readOnly": true
+ },
+ "grain": {
+ "description": "The granularity of forecast.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Monthly",
+ "Yearly"
+ ],
+ "x-ms-enum": {
+ "name": "Grain",
+ "modelAsString": true
+ }
+ },
+ "charge": {
+ "description": "The amount of charge",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the meter is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "chargeType": {
+ "description": "The type of the charge. Could be actual or forecast",
+ "type": "string",
+ "enum": [
+ "Actual",
+ "Forecast"
+ ],
+ "x-ms-enum": {
+ "name": "ChargeType",
+ "modelAsString": true
+ }
+ },
+ "confidenceLevels": {
+ "description": "The details about the forecast confidence levels. This is populated only when chargeType is Forecast.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "percentage": {
+ "description": "The percentage level of the confidence",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "bound": {
+ "description": "The boundary of the percentage, values could be 'Upper' or 'Lower'",
+ "type": "string",
+ "enum": [
+ "Upper",
+ "Lower"
+ ],
+ "x-ms-enum": {
+ "name": "Bound",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "The amount of forecast within the percentage level",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ }
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ManagementGroupAggregatedCostResult": {
+ "description": "A management group aggregated cost resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ManagementGroupAggregatedCostProperties",
+ "title": "Management Group Aggregated Cost properties"
+ }
+ }
+ },
+ "ManagementGroupAggregatedCostProperties": {
+ "description": "The properties of the Management Group Aggregated Cost.",
+ "type": "object",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the aggregated cost belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "The start of the date time range covered by aggregated cost.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "The end of the date time range covered by the aggregated cost.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "azureCharges": {
+ "description": "Azure Charges.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "marketplaceCharges": {
+ "description": "Marketplace Charges.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "chargesBilledSeparately": {
+ "description": "Charges Billed Separately.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the meter is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "children": {
+ "description": "Children of a management group",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagementGroupAggregatedCostResult"
+ }
+ },
+ "includedSubscriptions": {
+ "description": "List of subscription Guids included in the calculation of aggregated cost",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "excludedSubscriptions": {
+ "description": "List of subscription Guids excluded from the calculation of aggregated cost",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ChargesListResult": {
+ "description": "Result of listing charge summary.",
+ "properties": {
+ "value": {
+ "description": "The list of charge summary",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ChargeSummary"
+ }
+ }
+ }
+ },
+ "ChargeSummary": {
+ "description": "A charge summary resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ChargeSummaryProperties",
+ "title": "Charge summary properties"
+ }
+ }
+ },
+ "ChargeSummaryProperties": {
+ "description": "The properties of the charge summary.",
+ "type": "object",
+ "properties": {
+ "billingPeriodId": {
+ "description": "The id of the billing period resource that the charge belongs to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "Usage start date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": " Usage end date.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureCharges": {
+ "description": "Azure Charges.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "chargesBilledSeparately": {
+ "description": "Charges Billed separately.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "marketplaceCharges": {
+ "description": "Marketplace Charges.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "Currency Code",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "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
+ },
+ "ResourceAttributes": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ },
+ "sku": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource sku"
+ }
+ }
+ },
+ "ProxyResource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "eTag": {
+ "type": "string",
+ "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not."
+ }
+ },
+ "x-ms-azure-resource": true
+ }
+ },
+ "parameters": {
+ "scopeChargesParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with usage details operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope. For department and enrollment accounts, you can also add billing period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing period at department scope use '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeUsageDetailsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with usage details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope. For subscription, billing account, department, enrollment account and management group, you can also add billing period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing period at department scope use '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeMarketplaceParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with marketplace operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope. For subscription, billing account, department, enrollment account and ManagementGroup, you can also add billing period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing period at department scope use '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeBudgetParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeTagsParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with tags operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope..",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2019-01-01."
+ },
+ "billingAccountIdParameter": {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "BillingAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "departmentIdParameter": {
+ "name": "departmentId",
+ "in": "path",
+ "description": "Department ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "enrollmentAccountIdParameter": {
+ "name": "enrollmentAccountId",
+ "in": "path",
+ "description": "EnrollmentAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "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"
+ },
+ "grainParameter": {
+ "name": "grain",
+ "description": "Can be daily or monthly",
+ "x-ms-parameter-location": "method",
+ "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"
+ }
+ ]
+ }
+ },
+ "managementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "description": "Azure Management Group ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "billingProfileIdParameter": {
+ "name": "billingProfileId",
+ "in": "path",
+ "description": "Azure Billing Profile ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "invoiceSectionIdParameter": {
+ "name": "invoiceSectionId",
+ "in": "path",
+ "description": "Azure Invoice Section ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/AggregatedCostByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/AggregatedCostByManagementGroup.json
new file mode 100644
index 000000000000..7fcef131267e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/AggregatedCostByManagementGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "managementGroupForTest"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupForTest/providers/Microsoft.Consumption/aggregatedcostId1",
+ "name": "aggregatedcostId1",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "includedSubscriptions": [
+ "1caaa5a3-2b66-438e-8ab4-bce37d518c5d"
+ ],
+ "excludedSubscriptions": [],
+ "usageStart": "2019-01-01T00:00:00.0000000Z",
+ "usageEnd": "2018-10-31T00:00:00.0000000Z",
+ "azureCharges": 250.9876,
+ "marketplaceCharges": 150.786,
+ "chargesBilledSeparately": 120.345,
+ "currency": "USD",
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupChildForTest/providers/Microsoft.Consumption/aggregatedcostId2",
+ "name": "aggregatedcostId2",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "includedSubscriptions": [
+ "c349567d-c83a-48c9-ab0e-578c69dc97a4"
+ ],
+ "excludedSubscriptions": [],
+ "usageStart": "2019-01-01T00:00:00.0000000Z",
+ "usageEnd": "2018-10-31T00:00:00.0000000Z",
+ "azureCharges": 150.0,
+ "marketplaceCharges": 50.786,
+ "chargesBilledSeparately": 30.345,
+ "currency": "USD",
+ "children": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/AggregatedCostByManagementGroupFilterByDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/AggregatedCostByManagementGroupFilterByDate.json
new file mode 100644
index 000000000000..c290544acea8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/AggregatedCostByManagementGroupFilterByDate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "managementGroupForTest",
+ "$filter": "usageStart ge '2018-08-15' and properties/usageStart le '2018-08-31'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupForTest/providers/Microsoft.Consumption/aggregatedcostId1",
+ "name": "aggregatedcostId1",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "includedSubscriptions": [
+ "1caaa5a3-2b66-438e-8ab4-bce37d518c5d"
+ ],
+ "excludedSubscriptions": [],
+ "usageStart": "2018-08-15T00:00:00.0000000Z",
+ "usageEnd": "2018-08-31T00:00:00.0000000Z",
+ "azureCharges": 150.9876,
+ "marketplaceCharges": 80.786,
+ "chargesBilledSeparately": 90.345,
+ "currency": "USD",
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupChildForTest/providers/Microsoft.Consumption/aggregatedcostId2",
+ "name": "aggregatedcostId2",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "includedSubscriptions": [
+ "c349567d-c83a-48c9-ab0e-578c69dc97a4"
+ ],
+ "excludedSubscriptions": [],
+ "usageStart": "2018-08-15T00:00:00.0000000Z",
+ "usageEnd": "2018-08-31T00:00:00.0000000Z",
+ "azureCharges": 50.0,
+ "marketplaceCharges": 10.786,
+ "chargesBilledSeparately": 30.345,
+ "currency": "USD",
+ "children": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json
new file mode 100644
index 000000000000..b9848333b82f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201807"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupForTest/providers/Microsoft.Consumption/aggregatedcostId1",
+ "name": "aggregatedcostId1",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "usageStart": "2018-07-01T00:00:00.0000000Z",
+ "usageEnd": "2018-07-31T00:00:00.0000000Z",
+ "azureCharges": 250.9876,
+ "marketplaceCharges": 150.786,
+ "chargesBilledSeparately": 120.345,
+ "currency": "USD",
+ "children": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/managementGroupChildForTest/providers/Microsoft.Consumption/aggregatedcostId2",
+ "name": "aggregatedcostId2",
+ "type": "Microsoft.Consumption/aggregatedcost",
+ "properties": {
+ "usageStart": "2018-07-01T00:00:00.0000000Z",
+ "usageEnd": "2018-07-31T00:00:00.0000000Z",
+ "azureCharges": 150.0,
+ "marketplaceCharges": 50.786,
+ "chargesBilledSeparately": 30.345,
+ "currency": "USD",
+ "children": []
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/BalancesByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/BalancesByBillingAccount.json
new file mode 100644
index 000000000000..a73b7922c831
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/BalancesByBillingAccount.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/balances/balanceId1",
+ "name": "balanceId1",
+ "type": "Microsoft.Consumption/balances",
+ "properties": {
+ "currency": "USD ",
+ "beginningBalance": 3396469.19,
+ "endingBalance": 2922371.02,
+ "newPurchases": 0,
+ "adjustments": 0,
+ "utilized": 474098.17,
+ "serviceOverage": 0,
+ "chargesBilledSeparately": 0,
+ "totalOverage": 0,
+ "totalUsage": 474098.17,
+ "azureMarketplaceServiceCharges": 609.82,
+ "billingFrequency": "Month",
+ "priceHidden": false,
+ "newPurchasesDetails": [
+ {
+ "name": "Promo Purchase",
+ "value": 1
+ }
+ ],
+ "adjustmentDetails": [
+ {
+ "name": "Promo Credit",
+ "value": 1.1
+ },
+ {
+ "name": "SIE Credit",
+ "value": 1.0
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/BalancesByBillingAccountForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/BalancesByBillingAccountForBillingPeriod.json
new file mode 100644
index 000000000000..ed337d0604ea
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/BalancesByBillingAccountForBillingPeriod.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/balances/balanceId1",
+ "name": "balanceId1",
+ "type": "Microsoft.Consumption/balances",
+ "properties": {
+ "currency": "USD ",
+ "beginningBalance": 3396469.19,
+ "endingBalance": 2922371.02,
+ "newPurchases": 0,
+ "adjustments": 0,
+ "utilized": 474098.17,
+ "serviceOverage": 0,
+ "chargesBilledSeparately": 0,
+ "totalOverage": 0,
+ "totalUsage": 474098.17,
+ "azureMarketplaceServiceCharges": 609.82,
+ "billingFrequency": "Month",
+ "priceHidden": false,
+ "newPurchasesDetails": [
+ {
+ "name": "Promo Purchase",
+ "value": 1
+ }
+ ],
+ "adjustmentDetails": [
+ {
+ "name": "Promo Credit",
+ "value": 1.1
+ },
+ {
+ "name": "SIE Credit",
+ "value": 1.0
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/Budget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/Budget.json
new file mode 100644
index 000000000000..0fe3cc892bf6
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/Budget.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "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/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MSVM2",
+ "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "tags": {
+ "category": [
+ "Dev",
+ "Prod"
+ ],
+ "department": [
+ "engineering",
+ "sales"
+ ]
+ }
+ },
+ "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/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/BudgetsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/BudgetsList.json
new file mode 100644
index 000000000000..68168745438c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/BudgetsList.json
@@ -0,0 +1,159 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG"
+ },
+ "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": [
+ "MYDEVTESTRG"
+ ],
+ "resources": [
+ "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2",
+ "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "tags": {
+ "category": [
+ "Dev",
+ "Prod"
+ ],
+ "department": [
+ "engineering",
+ "sales"
+ ]
+ }
+ },
+ "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/MYDEVTESTRG/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": [
+ "MYDEVTESTRG"
+ ],
+ "resources": [
+ "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2",
+ "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "tags": {
+ "category": [
+ "Dev",
+ "Prod"
+ ],
+ "department": [
+ "engineering",
+ "sales"
+ ]
+ }
+ },
+ "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/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesForBillingPeriodByDepartment.json
new file mode 100644
index 000000000000..a8ed86744b00
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesForBillingPeriodByDepartment.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "1234",
+ "departmentId": "42425",
+ "billingPeriodName": "201804"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/departments/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json
new file mode 100644
index 000000000000..eed1b8fcd1df
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "1234",
+ "enrollmentAccountId": "42425",
+ "billingPeriodName": "201804"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForDepartment.json
new file mode 100644
index 000000000000..419db8105b0e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForDepartment.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "1234",
+ "departmentId": "42425",
+ "$filter": "usageStart eq '2018-04-01' AND usageEnd eq '2018-05-30'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/departments/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/departments/42425/providers/Microsoft.Consumption/charges/chargeSummaryId2",
+ "name": "chargeSummaryId2",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201805",
+ "usageStart": "2018-05-01",
+ "usageEnd": "2018-05-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForDepartmentFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForDepartmentFilterByStartEndDate.json
new file mode 100644
index 000000000000..419db8105b0e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForDepartmentFilterByStartEndDate.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "1234",
+ "departmentId": "42425",
+ "$filter": "usageStart eq '2018-04-01' AND usageEnd eq '2018-05-30'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/departments/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/departments/42425/providers/Microsoft.Consumption/charges/chargeSummaryId2",
+ "name": "chargeSummaryId2",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201805",
+ "usageStart": "2018-05-01",
+ "usageEnd": "2018-05-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForEnrollmentAccount.json
new file mode 100644
index 000000000000..9e114eba0f52
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForEnrollmentAccount.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "1234",
+ "enrollmentAccountId": "42425",
+ "$filter": "usageStart eq '2018-04-01' AND usageEnd eq '2018-05-30'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425/providers/Microsoft.Consumption/charges/chargeSummaryId2",
+ "name": "chargeSummaryId2",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201805",
+ "usageStart": "2018-05-01",
+ "usageEnd": "2018-05-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json
new file mode 100644
index 000000000000..5ccd2184b596
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "1234",
+ "enrollmentAccountId": "42425"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425/providers/Microsoft.Consumption/charges/chargeSummaryId1",
+ "name": "chargeSummaryId1",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201804",
+ "usageStart": "2018-04-01",
+ "usageEnd": "2018-04-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/enrollmentAccounts/42425/providers/Microsoft.Consumption/charges/chargeSummaryId2",
+ "name": "chargeSummaryId2",
+ "type": "Microsoft.Consumption/charges",
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201805",
+ "usageStart": "2018-05-01",
+ "usageEnd": "2018-05-30",
+ "azureCharges": 5000.00,
+ "chargesBilledSeparately": 60.90,
+ "marketplaceCharges": 100.00,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/CreateOrUpdateBudget.json
new file mode 100644
index 000000000000..6fda82a09118
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/CreateOrUpdateBudget.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "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": [
+ "MYDEVTESTRG"
+ ],
+ "resources": [
+ "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2",
+ "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "tags": {
+ "category": [
+ "Dev",
+ "Prod"
+ ],
+ "department": [
+ "engineering",
+ "sales"
+ ]
+ }
+ },
+ "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/MYDEVTESTRG/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/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2",
+ "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "tags": {
+ "category": [
+ "Dev",
+ "Prod"
+ ],
+ "department": [
+ "engineering",
+ "sales"
+ ]
+ }
+ },
+ "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/MYDEVTESTRG/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/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/MYVM2",
+ "/subscriptions/{subscription-id}/resourceGroups/MYDEVTESTRG/providers/Microsoft.Compute/virtualMachines/platformcloudplatformGeneric1"
+ ],
+ "meters": [
+ "00000000-0000-0000-0000-000000000000"
+ ],
+ "tags": {
+ "category": [
+ "Dev",
+ "Prod"
+ ],
+ "department": [
+ "engineering",
+ "sales"
+ ]
+ }
+ },
+ "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/MYDEVTESTRG/providers/microsoft.insights/actionGroups/SampleActionGroup"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/DeleteBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/DeleteBudget.json
new file mode 100644
index 000000000000..d9ce5c87e58f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/DeleteBudget.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "budgetName": "TestBudget"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ForecastsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ForecastsList.json
new file mode 100644
index 000000000000..4580f56dd6d6
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ForecastsList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId1",
+ "name": "forecastId1",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-01",
+ "grain": "Daily",
+ "charge": 752.000000,
+ "currency": "USD",
+ "chargeType": "Actual",
+ "confidenceLevels": null
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId2",
+ "name": "forecastId2",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-02",
+ "grain": "Daily",
+ "charge": 753.809074,
+ "currency": "USD",
+ "chargeType": "Forecast",
+ "confidenceLevels": [
+ {
+ "percentage": 95,
+ "bound": "Upper",
+ "value": 1165.951737
+ },
+ {
+ "percentage": 95,
+ "bound": "Lower",
+ "value": 340.753404
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ForecastsListFilterByDates.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ForecastsListFilterByDates.json
new file mode 100644
index 000000000000..2a44e1977fda
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ForecastsListFilterByDates.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "usagedate ge '2018-04-01' AND usagedate le '2018-04-02'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId1",
+ "name": "forecastId1",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-01",
+ "grain": "Daily",
+ "charge": 752.000000,
+ "currency": "USD",
+ "chargeType": "Actual",
+ "confidenceLevels": null
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId2",
+ "name": "forecastId2",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-02",
+ "grain": "Daily",
+ "charge": 753.809074,
+ "currency": "USD",
+ "chargeType": "Forecast",
+ "confidenceLevels": [
+ {
+ "percentage": 95,
+ "bound": "Upper",
+ "value": 1165.951737
+ },
+ {
+ "percentage": 95,
+ "bound": "Lower",
+ "value": 340.753404
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ForecastsListFilterByGrain.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ForecastsListFilterByGrain.json
new file mode 100644
index 000000000000..148e4bf8345e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ForecastsListFilterByGrain.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "Grain eq 'Monthly'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId1",
+ "name": "forecastId1",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-04-01",
+ "grain": "Monthly",
+ "charge": 752.000000,
+ "currency": "USD",
+ "chargeType": "Actual",
+ "confidenceLevels": null
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.Consumption/forecasts/forecastId2",
+ "name": "forecastId2",
+ "type": "Microsoft.Consumption/forecasts",
+ "properties": {
+ "usageDate": "2018-05-01",
+ "grain": "Monthly",
+ "charge": 753.809074,
+ "currency": "USD",
+ "chargeType": "Forecast",
+ "confidenceLevels": [
+ {
+ "percentage": 95,
+ "bound": "Upper",
+ "value": 1165.951737
+ },
+ {
+ "percentage": 95,
+ "bound": "Lower",
+ "value": 340.753404
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByBillingAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByBillingAccountList.json
new file mode 100644
index 000000000000..df63ac8207d1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByBillingAccountList.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplaceId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/123456/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": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan1",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json
new file mode 100644
index 000000000000..141dab5af041
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/billingAccounts/123456/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": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByDepartmentList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByDepartmentList.json
new file mode 100644
index 000000000000..5388520f0af8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByDepartmentList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "123456",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/departments/123456/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": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json
new file mode 100644
index 000000000000..5388520f0af8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "123456",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/departments/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/departments/123456/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": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByEnrollmentAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByEnrollmentAccountList.json
new file mode 100644
index 000000000000..f19e01eaeabf
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByEnrollmentAccountList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "enrollmentAccountId": "123456",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/enrollmentAccounts/123456/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": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json
new file mode 100644
index 000000000000..f19e01eaeabf
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "enrollmentAccountId": "123456",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/enrollmentAccounts/123456/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/providers/Microsoft.Billing/enrollmentAccounts/123456/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": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByManagementGroupList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByManagementGroupList.json
new file mode 100644
index 000000000000..48fea95f1c65
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByManagementGroupList.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "managementGroupForTest"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201810/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201810",
+ "usageStart": "2018-10-13T00:00:00Z",
+ "usageEnd": "2018-10-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201810/providers/Microsoft.Consumption/marketplaces/marketplaceId2",
+ "name": "marketplacesId2",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account2",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center2",
+ "departmentName": "Department2",
+ "billingPeriodId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201810",
+ "usageStart": "2018-10-13T00:00:00Z",
+ "usageEnd": "2018-10-13T23:59:59Z",
+ "instanceName": "shared2",
+ "instanceId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared2",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "11111111-1111-1111-1111-111111111111",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "11111111-1111-1111-1111-111111111111",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json
new file mode 100644
index 000000000000..5b2c54a4c4f5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201808"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201808/providers/Microsoft.Consumption/marketplaces/marketplaceId1",
+ "name": "marketplacesId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201808",
+ "usageStart": "2018-08-13T00:00:00Z",
+ "usageEnd": "2018-08-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201808/providers/Microsoft.Consumption/marketplaces/marketplaceId2",
+ "name": "marketplacesId2",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account2",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center2",
+ "departmentName": "Department2",
+ "billingPeriodId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201810",
+ "usageStart": "2018-08-13T00:00:00Z",
+ "usageEnd": "2018-08-13T23:59:59Z",
+ "instanceName": "shared2",
+ "instanceId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared2",
+ "currency": "USD",
+ "consumedQuantity": 0.00328,
+ "pretaxCost": 0.67,
+ "isEstimated": false,
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "11111111-1111-1111-1111-111111111111",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "11111111-1111-1111-1111-111111111111",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesList.json
new file mode 100644
index 000000000000..95a8ec0f3415
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesList.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/marketPlaces/marketplaceId1",
+ "name": "marketplaceId1",
+ "type": "Microsoft.Consumption/marketPlaces",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "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": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan1",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesListForBillingPeriod.json
new file mode 100644
index 000000000000..44ef8a2642e1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/MarketplacesListForBillingPeriod.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "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": {
+ "accountName": "Account1",
+ "additionalProperties": "additionalProperties",
+ "costCenter": "Center1",
+ "departmentName": "Department1",
+ "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": "00000000-0000-0000-0000-000000000000",
+ "offerName": "offer1",
+ "resourceGroup": "TEST",
+ "orderNumber": "00000000-0000-0000-0000-000000000000",
+ "publisherName": "xyz",
+ "planName": "plan2",
+ "resourceRate": 0.24,
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "azure subscription",
+ "unitOfMeasure": "10 Hours",
+ "isRecurringCharge": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/PriceSheet.json
new file mode 100644
index 000000000000..25264de19e17
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/PriceSheet.json
@@ -0,0 +1,34 @@
+{
+ "parameters":
+ {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "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",
+ "pricesheets": [
+ {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "unitOfMeasure": "100 Hours",
+ "includedQuantity": 100,
+ "partNumber": "XX-11110",
+ "unitPrice": 0.00328,
+ "currencyCode": "EUR",
+ "offerId":"OfferId 1"
+ }]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/PriceSheetExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/PriceSheetExpand.json
new file mode 100644
index 000000000000..04489f630772
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/PriceSheetExpand.json
@@ -0,0 +1,45 @@
+{
+ "parameters":
+ {
+ "api-version": "2019-01-01",
+ "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": "00000000-0000-0000-0000-000000000000",
+ "unitOfMeasure": "100 Hours",
+ "includedQuantity": 100,
+ "partNumber": "XX-11110",
+ "unitPrice": 0.00328,
+ "currencyCode": "EUR",
+ "offerId":"OfferId 1",
+ "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/2019-01-01/examples/PriceSheetForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/PriceSheetForBillingPeriod.json
new file mode 100644
index 000000000000..f158fc514b24
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/PriceSheetForBillingPeriod.json
@@ -0,0 +1,35 @@
+{
+ "parameters":
+ {
+ "api-version": "2019-01-01",
+ "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": "00000000-0000-0000-0000-000000000000",
+ "unitOfMeasure": "100 Hours",
+ "includedQuantity": 100,
+ "partNumber": "XX-11110",
+ "unitPrice": 0.00328,
+ "currencyCode": "EUR",
+ "offerId":"OfferId 1"
+ }]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationDetails.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationDetails.json
new file mode 100644
index 000000000000..d994a1f95e0f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationDetails.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-12-05'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationDetails/20171129",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171129",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "usageDate": "2017-11-29T00:00:00Z",
+ "skuName": "Standard_D2_v2",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/wvn-sql/providers/microsoft.compute/virtualmachines/abc-sql2014sp33",
+ "totalReservedQuantity": 1.000000000000000,
+ "reservedHours": 24.000000000000000,
+ "usedHours": 24.000000000000000
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationDetailsWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationDetailsWithReservationId.json
new file mode 100644
index 000000000000..60032b581d06
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationDetailsWithReservationId.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "properties/usageDate ge '2017-10-01' AND properties/usageDate le '2017-12-05'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationDetails/20171129",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171129",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "usageDate": "2017-11-29T00:00:00Z",
+ "skuName": "Standard_D2_v2",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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/2019-01-01/examples/ReservationRecommendationsFilterByScopeLookBackPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationRecommendationsFilterByScopeLookBackPeriod.json
new file mode 100644
index 000000000000..51ac589592b8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationRecommendationsFilterByScopeLookBackPeriod.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "properties/scope eq 'Single' AND properties/lookBackPeriod eq 'Last7Days'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1",
+ "name": "reservationRecommendations1",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 4.634521202630137,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2",
+ "name": "reservationRecommendations2",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P3Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 7.2893157231780812,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ }
+ ],
+ "nextLink" : "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2018-03-31&$filter=properties/scope+eq+'Single'+AND+properties/lookBackPeriod+eq+'Last7Days'&$skiptoken=AQAAAA%3D%3D&"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationRecommendationsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationRecommendationsList.json
new file mode 100644
index 000000000000..47baf5e017c9
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationRecommendationsList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1",
+ "name": "reservationRecommendations1",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 4.634521202630137,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2",
+ "name": "reservationRecommendations2",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P3Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 7.2893157231780812,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ }
+ ],
+ "nextLink" : "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2018-03-31&$skiptoken=AQAAAA%3D%3D&"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationSummariesDaily.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationSummariesDaily.json
new file mode 100644
index 000000000000..76da0fe31073
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationSummariesDaily.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "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/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001",
+ "type": "Microsoft.Consumption/reservationsummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "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/2019-01-01/examples/ReservationSummariesDailyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationSummariesDailyWithReservationId.json
new file mode 100644
index 000000000000..45bf520c257a
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationSummariesDailyWithReservationId.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "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/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001",
+ "type": "Microsoft.Consumption/reservationsummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "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/2019-01-01/examples/ReservationSummariesMonthly.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationSummariesMonthly.json
new file mode 100644
index 000000000000..6d1365c7587d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationSummariesMonthly.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "grain":"monthly"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001",
+ "type": "Microsoft.Consumption/reservationsummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "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/2019-01-01/examples/ReservationSummariesMonthlyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationSummariesMonthlyWithReservationId.json
new file mode 100644
index 000000000000..02398ead0d54
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/ReservationSummariesMonthlyWithReservationId.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "grain":"monthly"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Capacity/reservationOrders/00000000-0000-0000-0000-000000000000/reservations/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationSummaries/20171001",
+ "name": "00000000-0000-0000-0000-000000000000_00000000-0000-0000-0000-000000000000_20171001",
+ "type": "Microsoft.Consumption/reservationsummaries",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "reservationId": "00000000-0000-0000-0000-000000000000",
+ "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/2019-01-01/examples/Tags.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/Tags.json
new file mode 100644
index 000000000000..3d05a43e9b20
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/Tags.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "12345"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/billingAccounts/{billingaccount-id}/providers/Microsoft.Consumption/tags/tags1",
+ "name": "tags1",
+ "type": "Microsoft.Consumption/tags",
+ "eTag": "\"1d34d012214157f\"",
+ "properties": {
+ "tags": [
+ {
+ "key": "Department"
+ },
+ {
+ "key": "CostCenter"
+ },
+ {
+ "key": "Portal"
+ },
+ {
+ "key": "OrgName"
+ },
+ {
+ "key": "Namespace"
+ },
+ {
+ "key": "resourceType"
+ },
+ {
+ "key": "Subsystem"
+ },
+ {
+ "key": "Environment"
+ },
+ {
+ "key": "clusterName"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsExpand.json
new file mode 100644
index 000000000000..120f4848d2a9
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsExpand.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201702",
+ "$expand": "meterDetails,additionalProperties",
+ "$filter": "properties/usageEnd ge '2018-01-14' AND properties/usageEnd le '2018-02-14' AND tags eq 'dev:tools'",
+ "$top": 1
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "meterDetails": {
+ "meterName": "Data Transfer Out (GB)",
+ "meterCategory": "Networking",
+ "unit": "GB",
+ "meterLocation": "Zone 2",
+ "totalIncludedQuantity": 0,
+ "pretaxStandardRate": 0.138,
+ "serviceName":"Bandwidth",
+ "serviceTier":"Bandwidth - Outbound Data Transfer"
+ },
+ "subscriptionGuid": "00000000-0000-0000-0000-000000000000",
+ "subscriptionName": "Dummy subscription",
+ "accountName": "My account name",
+ "departmentName": "My department name",
+ "product": "My product name",
+ "consumedService": "My consumed service",
+ "costCenter": "Cost center 1",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West",
+ "additionalProperties": "{\"MyType\":\"\",\"ServiceType\":\"\",\"VMName\":\"\",\"UsageType\":\"MyUsage\"}"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsList.json
new file mode 100644
index 000000000000..788bb0e200e3
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsList.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByBillingAccount.json
new file mode 100644
index 000000000000..a0d031da26cf
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByBillingAccount.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "1234"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id":
+ "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId":
+ "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByDepartment.json
new file mode 100644
index 000000000000..0ef7aaa72125
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByDepartment.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "1234"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id":
+ "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId":
+ "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByEnrollmentAccount.json
new file mode 100644
index 000000000000..89fe0bdfc151
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByEnrollmentAccount.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "enrollmentAccountId": "1234"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id":
+ "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId":
+ "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByManagementGroup.json
new file mode 100644
index 000000000000..ca3071b8dbc5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListByManagementGroup.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "managementGroupForTest"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180801/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201808",
+ "usageStart": "2018-08-13T00:00:00Z",
+ "usageEnd": "2018-08-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/20180801/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201808",
+ "usageStart": "2018-08-13T00:00:00Z",
+ "usageEnd": "2018-08-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "instanceLocation": "eastasia",
+ "currency": "USD",
+ "usageQuantity": 0.00120,
+ "billableQuantity": 0.00128,
+ "pretaxCost": 0.26,
+ "isEstimated": false,
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"11111111-1111-1111-1111-111111111111",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListFilterByTag.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListFilterByTag.json
new file mode 100644
index 000000000000..ded1a599fae3
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListFilterByTag.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$filter": "tags eq 'dev:tools'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriod.json
new file mode 100644
index 000000000000..3eea12eac6cb
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriod.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json
new file mode 100644
index 000000000000..2033b0f92d2f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "1234",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/providers/Microsoft.Billing/BillingAccounts/1234/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByDepartment.json
new file mode 100644
index 000000000000..43cb2fbbb211
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByDepartment.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "1234",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/providers/Microsoft.Billing/Departments/1234/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json
new file mode 100644
index 000000000000..d77dd048f2dc
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "enrollmentAccountId": "1234",
+ "billingPeriodName": "201702"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201702/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/billingPeriods/201702",
+ "invoiceId": "/providers/Microsoft.Billing/EnrollmentAccounts/1234/providers/Microsoft.Billing/invoices/201703-123456789",
+ "usageStart": "2017-02-13T00:00:00Z",
+ "usageEnd": "2017-02-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json
new file mode 100644
index 000000000000..fac6199afd12
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "managementGroupForTest",
+ "billingPeriodName": "201807"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180701/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/201807",
+ "usageStart": "2018-07-13T00:00:00Z",
+ "usageEnd": "2018-07-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/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": "00000000-0000-0000-0000-000000000000",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"00000000-0000-0000-0000-000000000000",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/20180701/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "env": "newcrp",
+ "dev": "tools"
+ },
+ "properties": {
+ "billingPeriodId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingPeriods/201807",
+ "usageStart": "2018-07-13T00:00:00Z",
+ "usageEnd": "2018-07-13T23:59:59Z",
+ "instanceName": "shared1",
+ "instanceId": "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/Default-Web-eastasia/providers/Microsoft.Web/sites/shared1",
+ "instanceLocation": "eastasia",
+ "currency": "USD",
+ "usageQuantity": 0.00120,
+ "billableQuantity": 0.00128,
+ "pretaxCost": 0.26,
+ "isEstimated": false,
+ "meterId": "11111111-1111-1111-1111-111111111111",
+ "partNumber":"Part Number 1",
+ "resourceGuid":"11111111-1111-1111-1111-111111111111",
+ "offerId":"Offer Id 1",
+ "chargesBilledSeparately":true,
+ "location":"EU West"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodGroupByTag.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodGroupByTag.json
new file mode 100644
index 000000000000..d9a827842424
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListForBillingPeriodGroupByTag.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "billingPeriodName": "201803",
+ "$apply": "groupby((tags))"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180301/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "description": "Azure VCAP STA - RDS Server"
+ },
+ "properties": {
+ "billingPeriodId": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180301",
+ "usageQuantity": 11.11111,
+ "pretaxCost": 0,
+ "currency": "USD"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180301/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "description": "Domain controller - STA"
+ },
+ "properties": {
+ "billingPeriodId": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180301",
+ "usageQuantity": 111.11111111111,
+ "pretaxCost": 0,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListGroupByTagDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListGroupByTagDate.json
new file mode 100644
index 000000000000..6e2f7d1e42d7
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-01-01/examples/UsageDetailsListGroupByTagDate.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$apply": "groupby((tags,properties/usageStart))"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180301/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "description": "Azure VCAP STA - RDS Server"
+ },
+ "properties": {
+ "billingPeriodId": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180301",
+ "usageStart": "2018-03-01T00:00:00.0000000Z",
+ "usageEnd": "2018-03-01T23:59:59.0000000Z",
+ "usageQuantity": 11.11111,
+ "pretaxCost": 0,
+ "currency": "USD"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180301/providers/Microsoft.Consumption/usageDetails/usageDetailsId1",
+ "name": "usageDetailsId1",
+ "type": "Microsoft.Consumption/usageDetails",
+ "tags": {
+ "description": "Azure VCAP STA - RDS Server"
+ },
+ "properties": {
+ "billingPeriodId": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/billingPeriods/20180301",
+ "usageStart": "2018-03-02T00:00:00.0000000Z",
+ "usageEnd": "2018-03-02T23:59:59.0000000Z",
+ "usageQuantity": 1.11111111111,
+ "pretaxCost": 0,
+ "currency": "USD"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/readme.go.md b/specification/consumption/resource-manager/readme.go.md
index 46dadcc2948b..2cd5284033ad 100644
--- a/specification/consumption/resource-manager/readme.go.md
+++ b/specification/consumption/resource-manager/readme.go.md
@@ -21,6 +21,7 @@ batch:
- tag: package-2018-06
- tag: package-2018-08
- tag: package-2018-10
+ - tag: package-2019-01
```
@@ -96,3 +97,11 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-01' && $(go)
+output-folder: $(go-sdk-folder)/services/consumption/mgmt/2019-01-01/consumption
+```
\ No newline at end of file
diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md
index 8a253969a640..4a583b834696 100644
--- a/specification/consumption/resource-manager/readme.md
+++ b/specification/consumption/resource-manager/readme.md
@@ -4,10 +4,10 @@
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`
@@ -15,20 +15,29 @@ To build the SDK for Consumption, simply [Install AutoRest](https://aka.ms/autor
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-10
+tag: package-2019-01
```
+
+### Tag: package-2019-01
+
+These settings apply only when `--tag=package-2019-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-01'
+input-file:
+ - Microsoft.Consumption/stable/2019-01-01/consumption.json
+```
### Tag: package-2017-11
These settings apply only when `--tag=package-2017-11` is specified on the command line.
@@ -39,6 +48,7 @@ input-file:
```
---
+
### Tag: package-2018-01
These settings apply only when `--tag=package-2018-01` is specified on the command line.
@@ -49,6 +59,7 @@ input-file:
```
---
+
### Tag: package-2018-03
These settings apply only when `--tag=package-2018-03` is specified on the command line.
@@ -59,6 +70,7 @@ input-file:
```
---
+
### Tag: package-2018-05
These settings apply only when `--tag=package-2018-05` is specified on the command line.
@@ -69,6 +81,7 @@ input-file:
```
---
+
### Tag: package-2018-06
These settings apply only when `--tag=package-2018-06` is specified on the command line.
@@ -79,6 +92,7 @@ input-file:
```
---
+
### Tag: package-2018-08
These settings apply only when `--tag=package-2018-08` is specified on the command line.
@@ -89,6 +103,7 @@ input-file:
```
---
+
### Tag: package-2018-10
These settings apply only when `--tag=package-2018-10` is specified on the command line.
@@ -99,6 +114,7 @@ input-file:
```
## Suppression
+
``` yaml
directive:
- suppress: R2059
@@ -108,6 +124,7 @@ directive:
```
---
+
### Tag: package-2017-04-preview
These settings apply only when `--tag=package-2017-04-preview` is specified on the command line.
@@ -118,6 +135,7 @@ input-file:
```
---
+
### Tag: package-2017-12-preview
These settings apply only when `--tag=package-2017-12-preview` is specified on the command line.
@@ -128,8 +146,8 @@ input-file:
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -140,6 +158,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
@@ -147,7 +166,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_consumption']
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -179,11 +197,13 @@ python:
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
@@ -212,11 +232,11 @@ batch:
- tag: package-2017-11
- tag: package-2018-01
- tag: package-2018-03
- - tag: package-2017-12-preview
- tag: package-2018-05
- tag: package-2018-06
- tag: package-2018-08
- tag: package-2018-10
+ - tag: package-2019-01
```
### Tag: package-2017-04-preview and java
@@ -269,6 +289,16 @@ java:
output-folder: $(azure-libraries-for-java-folder)/consumption/resource-manager/v2018_03_31
regenerate-manager: true
generate-interface: true
+directive:
+ - rename-model:
+ from: CostTags
+ to: CostTagsModel
+ - rename-model:
+ from: Tags
+ to: TagsModel
+ - rename-model:
+ from: ReservationRecommendations
+ to: ReservationRecommendationsModel
```
### Tag: package-2017-12-preview and java
@@ -336,3 +366,15 @@ regenerate-manager: true
generate-interface: true
```
+### Tag: package-2019-01 and java
+
+These settings apply only when `--tag=package-2019-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.consumption.v2019_01_01
+ output-folder: $(azure-libraries-for-java-folder)/consumption/resource-manager/v2019_01_01
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/consumption/resource-manager/readme.ruby.md b/specification/consumption/resource-manager/readme.ruby.md
index 802d572a2438..b2be290ac9fe 100644
--- a/specification/consumption/resource-manager/readme.ruby.md
+++ b/specification/consumption/resource-manager/readme.ruby.md
@@ -12,12 +12,23 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2019-01
- tag: package-2018-01
- tag: package-2017-12-preview
- tag: package-2017-11
- tag: package-2017-04-preview
```
+### Tag: package-2019-01 and ruby
+
+These settings apply only when `--tag=package-2019-01 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-01' && $(ruby)
+namespace: "Azure::Consumption::Mgmt::V2019_01_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_consumption/lib
+```
+
### Tag: package-2018-01 and ruby
These settings apply only when `--tag=package-2018-01 --ruby` is specified on the command line.
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json
index c1fcd7ede62c..086e1f848f2f 100644
--- a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json
@@ -57,6 +57,12 @@
"schema": {
"$ref": "#/definitions/ContainerGroupListResult"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
},
"x-ms-pageable": {
@@ -91,6 +97,12 @@
"schema": {
"$ref": "#/definitions/ContainerGroupListResult"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
},
"x-ms-pageable": {
@@ -131,6 +143,12 @@
"schema": {
"$ref": "#/definitions/ContainerGroup"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
},
@@ -178,8 +196,14 @@
"schema": {
"$ref": "#/definitions/ContainerGroup"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
- },
+ },
"x-ms-long-running-operation": true
},
"patch": {
@@ -220,6 +244,12 @@
"schema": {
"$ref": "#/definitions/ContainerGroup"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
},
@@ -255,6 +285,12 @@
},
"204": {
"description": "No Content - the specified container group was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -286,6 +322,12 @@
"responses": {
"204": {
"description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
},
"x-ms-long-running-operation": true
@@ -318,6 +360,12 @@
"responses": {
"204": {
"description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -349,6 +397,12 @@
"responses": {
"204": {
"description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
},
"x-ms-long-running-operation": true
@@ -377,6 +431,12 @@
"schema": {
"$ref": "#/definitions/OperationListResult"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -407,6 +467,12 @@
"schema": {
"$ref": "#/definitions/UsageListResult"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -454,6 +520,12 @@
"schema": {
"$ref": "#/definitions/Logs"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -489,12 +561,12 @@
"type": "string"
},
{
- "name":"containerExecRequest",
- "in":"body",
- "description":"The request for the exec command.",
- "required":true,
- "schema":{
- "$ref":"#/definitions/ContainerExecRequest"
+ "name": "containerExecRequest",
+ "in": "body",
+ "description": "The request for the exec command.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerExecRequest"
}
}
],
@@ -504,6 +576,12 @@
"schema": {
"$ref": "#/definitions/ContainerExecResponse"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -541,6 +619,86 @@
},
"204": {
"description": "No Content - the specified service association link was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/cachedImages": {
+ "get": {
+ "operationId": "ListCachedImages",
+ "x-ms-examples": {
+ "CachedImages": {
+ "$ref": "./examples/CachedImagesList.json"
+ }
+ },
+ "summary": "Get the list of cached images.",
+ "description": "Get the list of cached images on specific OS type for a subscription in a region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CachedImagesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities": {
+ "get": {
+ "operationId": "ListCapabilities",
+ "x-ms-examples": {
+ "GetCapabilities": {
+ "$ref": "./examples/CapabilitiesList.json"
+ }
+ },
+ "summary": "Get the list of capabilities of the location.",
+ "description": "Get the list of CPU/memory/GPU capabilities of a region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapabilitiesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
}
}
}
@@ -840,7 +998,7 @@
"GitRepoVolume": {
"description": "Represents a volume that is populated with the contents of a git repository",
"required": [
- "repository"
+ "repository"
],
"properties": {
"directory": {
@@ -1348,7 +1506,7 @@
"name"
]
},
- "OperationListResult":{
+ "OperationListResult": {
"description": "The operation list response that contains all operations for Azure Container Instance service.",
"type": "object",
"properties": {
@@ -1395,6 +1553,10 @@
}
}
},
+ "properties": {
+ "type": "object",
+ "description": "The additional properties."
+ },
"origin": {
"type": "string",
"description": "The intended executor of the operation.",
@@ -1409,8 +1571,8 @@
}
},
"required": [
- "name",
- "display"
+ "name",
+ "display"
]
},
"UsageListResult": {
@@ -1450,7 +1612,7 @@
"type": "object",
"description": "The name object of the resource",
"properties": {
- "value":{
+ "value": {
"readOnly": true,
"type": "string",
"description": "The name of the resource"
@@ -1503,7 +1665,7 @@
"type": "object",
"description": "The size of the terminal.",
"properties": {
- "rows":{
+ "rows": {
"type": "integer",
"description": "The row size of the terminal"
},
@@ -1585,6 +1747,149 @@
}
},
"x-ms-azure-resource": true
+ },
+ "CachedImagesListResult": {
+ "description": "The response containing cached images.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cachedImages"
+ },
+ "description": "The list of cached images."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of cached images."
+ }
+ }
+ },
+ "cachedImages": {
+ "description": "The cached image and OS type.",
+ "type": "object",
+ "required": [
+ "osType",
+ "image"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The resource Id of the cached image."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The OS type of the cached image."
+ },
+ "image": {
+ "type": "string",
+ "description": "The cached image name."
+ }
+ }
+ },
+ "CapabilitiesListResult": {
+ "description": "The response containing list of capabilities.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Capabilities"
+ },
+ "description": "The list of capabilities."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of capabilities."
+ }
+ }
+ },
+ "Capabilities": {
+ "description": "The regional capabilities.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type that this capability describes."
+ },
+ "osType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The OS type that this capability describes."
+ },
+ "location": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource location."
+ },
+ "ipAddressType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ip address type that this capability describes."
+ },
+ "gpu": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The GPU sku that this capability describes."
+ },
+ "capabilities": {
+ "type": "object",
+ "readOnly": true,
+ "description": "The supported capabilities.",
+ "properties": {
+ "maxMemoryInGB": {
+ "type": "number",
+ "readOnly": true,
+ "description": "The maximum allowed memory request in GB."
+ },
+ "maxCpu": {
+ "type": "number",
+ "readOnly": true,
+ "description": "The maximum allowed CPU request in cores."
+ },
+ "maxGpuCount": {
+ "type": "number",
+ "readOnly": true,
+ "description": "The maximum allowed GPU count."
+ }
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
}
},
"parameters": {
@@ -1653,4 +1958,4 @@
"x-ms-parameter-location": "method"
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/examples/CachedImagesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/examples/CachedImagesList.json
new file mode 100644
index 000000000000..68ad175c3ddb
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/examples/CachedImagesList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westcentralus",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "osType": "Linux",
+ "image": "ubuntu:16.04"
+ },
+ {
+ "osType": "Linux",
+ "image": "alpine:3.6"
+ },
+ {
+ "osType": "Windows",
+ "image": "microsoft/nanoserver:10.0.14393.2485"
+ }
+ ]
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/examples/CapabilitiesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/examples/CapabilitiesList.json
new file mode 100644
index 000000000000..065072c43f9d
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2018-10-01/examples/CapabilitiesList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westus",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "containerGroups",
+ "osType": "Linux",
+ "location": "West US",
+ "ipAddressType": "Public",
+ "gpu": "K80",
+ "capabilities": {
+ "maxMemoryInGB": 14,
+ "maxCpu": 4,
+ "maxGpuCount": 4
+ }
+ },
+ {
+ "resourceType": "containerGroups",
+ "osType": "Windows",
+ "location": "West US",
+ "ipAddressType": "Public",
+ "gpu": "None",
+ "capabilities": {
+ "maxMemoryInGB": 14,
+ "maxCpu": 4,
+ "maxGpuCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json
index 17f43a114a38..7052e5113ebb 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json
@@ -1565,19 +1565,65 @@
"items": {
"$ref": "#/definitions/VirtualNetworkRule"
}
+ },
+ "ipRules": {
+ "description": "The IP ACL rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPRule"
+ }
}
}
},
"VirtualNetworkRule": {
- "description": "The virtual network rule for a container registry.",
+ "description": "Virtual network rule.",
"required": [
"id"
],
"type": "object",
"properties": {
+ "action": {
+ "description": "The action of virtual network rule.",
+ "default": "Allow",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ }
+ },
"id": {
"description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.",
- "type": "string"
+ "type": "string",
+ "x-ms-client-name": "VirtualNetworkResourceId"
+ }
+ }
+ },
+ "IPRule": {
+ "description": "IP rule with specific IP or IP range in CIDR format.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "action": {
+ "description": "The action of IP ACL rule.",
+ "default": "Allow",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.",
+ "type": "string",
+ "x-ms-client-name": "IPAddressOrRange"
}
}
},
@@ -1924,7 +1970,9 @@
"enum": [
"push",
"delete",
- "quarantine"
+ "quarantine",
+ "chart_push",
+ "chart_delete"
],
"type": "string",
"x-ms-enum": {
@@ -2019,7 +2067,9 @@
"enum": [
"push",
"delete",
- "quarantine"
+ "quarantine",
+ "chart_push",
+ "chart_delete"
],
"type": "string",
"x-ms-enum": {
@@ -2086,7 +2136,9 @@
"enum": [
"push",
"delete",
- "quarantine"
+ "quarantine",
+ "chart_push",
+ "chart_delete"
],
"type": "string",
"x-ms-enum": {
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
index 6ea6800444d3..53f5a497b424 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
@@ -760,11 +760,6 @@
"$ref": "#/definitions/SourceTriggerDescriptor",
"description": "The source trigger that caused the run."
},
- "isArchiveEnabled": {
- "description": "The value that indicates whether archiving is enabled or not.",
- "default": false,
- "type": "boolean"
- },
"platform": {
"$ref": "#/definitions/PlatformProperties",
"description": "The platform properties against which the run will happen."
@@ -773,6 +768,17 @@
"$ref": "#/definitions/AgentProperties",
"description": "The machine configuration of the run agent."
},
+ "sourceRegistryAuth": {
+ "description": "The scope of the credentials that were used to login to the source registry during this run.",
+ "type": "string"
+ },
+ "customRegistries": {
+ "description": "The list of custom registries that were logged in during this run.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
"provisioningState": {
"description": "The provisioning state of a run.",
"enum": [
@@ -788,6 +794,11 @@
"name": "ProvisioningState",
"modelAsString": true
}
+ },
+ "isArchiveEnabled": {
+ "description": "The value that indicates whether archiving is enabled or not.",
+ "default": false,
+ "type": "boolean"
}
}
},
@@ -1141,6 +1152,10 @@
"trigger": {
"$ref": "#/definitions/TriggerProperties",
"description": "The properties that describe all triggers for the task."
+ },
+ "credentials": {
+ "$ref": "#/definitions/Credentials",
+ "description": "The properties that describes a set of credentials that will be used when this run is invoked."
}
}
},
@@ -1198,6 +1213,23 @@
}
}
},
+ "Credentials": {
+ "description": "The parameters that describes a set of credentials that will be used when a run is invoked.",
+ "type": "object",
+ "properties": {
+ "sourceRegistry": {
+ "$ref": "#/definitions/SourceRegistryCredentials",
+ "description": "Describes the credential parameters for accessing the source registry."
+ },
+ "customRegistries": {
+ "description": "Describes the credential parameters for accessing other custom registries. The key\r\nfor the dictionary item will be the registry login server (myregistry.azurecr.io) and\r\nthe value of the item will be the registry credentials for accessing the registry.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/CustomRegistryCredentials"
+ }
+ }
+ }
+ },
"BaseImageDependency": {
"description": "Properties that describe a base image dependency.",
"type": "object",
@@ -1316,6 +1348,38 @@
}
}
},
+ "SourceRegistryCredentials": {
+ "description": "Describes the credential parameters for accessing the source registry.",
+ "type": "object",
+ "properties": {
+ "loginMode": {
+ "description": "The authentication mode which determines the source registry login scope. The credentials for the source registry\r\nwill be generated using the given scope. These credentials will be used to login to\r\nthe source registry during the run.",
+ "enum": [
+ "None",
+ "Default"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SourceRegistryLoginMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CustomRegistryCredentials": {
+ "description": "Describes the credentials that will be used to access a custom registry during a run.",
+ "type": "object",
+ "properties": {
+ "userName": {
+ "$ref": "#/definitions/SecretObject",
+ "description": "The username for logging into the custom registry."
+ },
+ "password": {
+ "$ref": "#/definitions/SecretObject",
+ "description": "The password for logging into the custom registry. The password is a secret \r\nobject that allows multiple ways of providing the value for it."
+ }
+ }
+ },
"SourceProperties": {
"description": "The properties of the source code repository.",
"required": [
@@ -1350,6 +1414,27 @@
}
}
},
+ "SecretObject": {
+ "description": "Describes the properties of a secret object value.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value of the secret. The format of this value will be determined\r\nbased on the type of the secret object. If the type is Opaque, the value will be\r\nused as is without any modification.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the secret object which determines how the value of the secret object has to be\r\ninterpreted.",
+ "enum": [
+ "Opaque"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SecretObjectType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
"AuthInfo": {
"description": "The authorization properties for accessing the source code repository.",
"required": [
@@ -1443,6 +1528,10 @@
"trigger": {
"$ref": "#/definitions/TriggerUpdateParameters",
"description": "The properties for updating trigger properties."
+ },
+ "credentials": {
+ "$ref": "#/definitions/Credentials",
+ "description": "The parameters that describes a set of credentials that will be used when this run is invoked."
}
}
},
@@ -1777,6 +1866,10 @@
"description": "The Docker file path relative to the source location.",
"type": "string"
},
+ "target": {
+ "description": "The name of the target build stage for the docker build.",
+ "type": "string"
+ },
"arguments": {
"description": "The collection of override arguments to be used when executing the run.",
"type": "array",
@@ -1803,6 +1896,10 @@
"sourceLocation": {
"description": "The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository.\r\nIf it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API.",
"type": "string"
+ },
+ "credentials": {
+ "$ref": "#/definitions/Credentials",
+ "description": "The properties that describes a set of credentials that will be used when this run is invoked."
}
},
"x-ms-discriminator-value": "DockerBuildRequest"
@@ -1878,6 +1975,10 @@
"sourceLocation": {
"description": "The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository.\r\nIf it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API.",
"type": "string"
+ },
+ "credentials": {
+ "$ref": "#/definitions/Credentials",
+ "description": "The properties that describes a set of credentials that will be used when this run is invoked."
}
},
"x-ms-discriminator-value": "FileTaskRunRequest"
@@ -1980,6 +2081,10 @@
"sourceLocation": {
"description": "The URL(absolute or relative) of the source context. It can be an URL to a tar or git repository.\r\nIf it is relative URL, the relative path should be obtained from calling listBuildSourceUploadUrl API.",
"type": "string"
+ },
+ "credentials": {
+ "$ref": "#/definitions/Credentials",
+ "description": "The properties that describes a set of credentials that will be used when this run is invoked."
}
},
"x-ms-discriminator-value": "EncodedTaskRunRequest"
@@ -2017,6 +2122,10 @@
"description": "The Docker file path relative to the source context.",
"type": "string"
},
+ "target": {
+ "description": "The name of the target build stage for the docker build.",
+ "type": "string"
+ },
"arguments": {
"description": "The collection of override arguments to be used when executing this build step.",
"type": "array",
@@ -2121,6 +2230,10 @@
"items": {
"$ref": "#/definitions/Argument"
}
+ },
+ "target": {
+ "description": "The name of the target build stage for the docker build.",
+ "type": "string"
}
},
"x-ms-discriminator-value": "Docker"
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/examples/RegistriesScheduleRun_Task_WithCustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/examples/RegistriesScheduleRun_Task_WithCustomCredentials.json
new file mode 100644
index 000000000000..4eafc8ac646d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/examples/RegistriesScheduleRun_Task_WithCustomCredentials.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2018-09-01",
+ "runRequest": {
+ "type": "TaskRunRequest",
+ "values": [
+ {
+ "name": "mytestargument",
+ "value": "mytestvalue",
+ "isSecret": false
+ },
+ {
+ "name": "mysecrettestargument",
+ "value": "mysecrettestvalue",
+ "isSecret": true
+ }
+ ],
+ "taskName": "myTask",
+ "credentials": {
+ "sourceRegistry": {
+ "loginMode": "Default"
+ },
+ "customRegistries": {
+ "myregistry.azurecr.io": {
+ "userName": {
+ "type": "Opaque",
+ "value": "reg1"
+ },
+ "password": {
+ "type": "Opaque",
+ "value": "***"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runId": "0accec26-d6de-4757-8e74-d080f38eaaab",
+ "status": "Succeeded",
+ "lastUpdatedTime": "2018-01-25T05:13:51.617Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab",
+ "name": "0accec26-d6de-4757-8e74-d080f38eaaab",
+ "type": "Microsoft.ContainerRegistry/registries/run"
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/examples/RegistriesScheduleRun_WithCustomCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/examples/RegistriesScheduleRun_WithCustomCredentials.json
new file mode 100644
index 000000000000..ecd8d6c3b889
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2018-09-01/examples/RegistriesScheduleRun_WithCustomCredentials.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "api-version": "2018-09-01",
+ "runRequest": {
+ "type": "DockerBuildRequest",
+ "isArchiveEnabled": true,
+ "imageNames": [
+ "azurerest:testtag"
+ ],
+ "noCache": true,
+ "sourceLocation": "https://myaccount.blob.core.windows.net/sascontainer/source.zip?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D",
+ "arguments": [
+ {
+ "name": "mytestargument",
+ "value": "mytestvalue",
+ "isSecret": false
+ },
+ {
+ "name": "mysecrettestargument",
+ "value": "mysecrettestvalue",
+ "isSecret": true
+ }
+ ],
+ "isPushEnabled": true,
+ "platform": {
+ "os": "Linux",
+ "architecture": "amd64"
+ },
+ "agentConfiguration": {
+ "cpu": 2
+ },
+ "dockerFilePath": "DockerFile",
+ "target": "stage1",
+ "credentials": {
+ "sourceRegistry": {
+ "loginMode": "Default"
+ },
+ "customRegistries": {
+ "myregistry.azurecr.io": {
+ "userName": {
+ "Type": "Opaque",
+ "Value": "reg1"
+ },
+ "password": {
+ "Type": "Opaque",
+ "Value": "***"
+ }
+ },
+ "myregistry2.azurecr.io": {
+ "userName": {
+ "Type": "Opaque",
+ "Value": "reg2"
+ },
+ "password": {
+ "Type": "Opaque",
+ "Value": "***"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "runId": "0accec26-d6de-4757-8e74-d080f38eaaab",
+ "status": "Succeeded",
+ "lastUpdatedTime": "2018-01-25T05:13:51.617Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/runs/0accec26-d6de-4757-8e74-d080f38eaaab",
+ "name": "0accec26-d6de-4757-8e74-d080f38eaaab",
+ "type": "Microsoft.ContainerRegistry/registries/run"
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersCreate_Update.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersCreate_Update.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersCreate_Update.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersDelete.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersDelete.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersDelete.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGet.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGet.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGet.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGetAccessProfile.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGetAccessProfile.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGetAccessProfile.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGetUpgradeProfile.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGetUpgradeProfile.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersGetUpgradeProfile.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersList.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersList.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersList.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersListByResourceGroup.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersListByResourceGroup.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersListByResourceGroup.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersListClusterCredentialResult.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersListClusterCredentialResult.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersListClusterCredentialResult.json
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..a260ce1dcce0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+ }
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..93807439e1dd
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+ }
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersUpdateTags.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersUpdateTags.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/examples/ManagedClustersUpdateTags.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json
similarity index 87%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json
index 7b8742583380..c49e0b0eaa01 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json
@@ -113,6 +113,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
}
],
@@ -154,6 +155,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -199,6 +201,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -237,8 +240,8 @@
"ManagedClusters"
],
"operationId": "ManagedClusters_ListClusterAdminCredentials",
- "summary": "Gets clusteradmin credential of a managed cluster.",
- "description": "Gets clusteradmin credential of the managed cluster with a specified resource group and name.",
+ "summary": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -251,6 +254,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -282,8 +286,8 @@
"ManagedClusters"
],
"operationId": "ManagedClusters_ListClusterUserCredentials",
- "summary": "Gets clusteruser credential of a managed cluster.",
- "description": "Gets clusteruser credential of the managed cluster with a specified resource group and name.",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -296,6 +300,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -341,6 +346,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -384,6 +390,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -443,6 +450,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -496,6 +504,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -521,6 +530,130 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -654,7 +787,7 @@
},
"ContainerServiceVnetSubnetID": {
"type": "string",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"ContainerServiceVMSize": {
"type": "string",
@@ -887,7 +1020,7 @@
},
"vnetSubnetID": {
"$ref": "#/definitions/ContainerServiceVnetSubnetID",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"firstConsecutiveStaticIP": {
"type": "string",
@@ -901,7 +1034,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master pool."
+ "description": "FQDN for the master pool."
}
},
"required": [
@@ -934,7 +1067,7 @@
},
"vnetSubnetID": {
"$ref": "#/definitions/ContainerServiceVnetSubnetID",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"maxPods": {
"type": "integer",
@@ -945,7 +1078,7 @@
"$ref": "#/definitions/OSType",
"description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
},
- "maxCount":{
+ "maxCount": {
"type": "integer",
"format": "int32",
"description": "Maximum number of nodes for auto-scaling"
@@ -955,13 +1088,13 @@
"format": "int32",
"description": "Minimum number of nodes for auto-scaling"
},
- "enableAutoScaling":{
+ "enableAutoScaling": {
"type": "boolean",
"description": "Whether to enable auto-scaler"
},
"type": {
"$ref": "#/definitions/AgentPoolType",
- "description": "AgentPoolType represents types of agentpool"
+ "description": "AgentPoolType represents types of an agent pool"
}
},
"required": [
@@ -971,7 +1104,7 @@
],
"description": "Profile for the container service agent pool."
},
- "AgentPoolType":{
+ "AgentPoolType": {
"type": "string",
"enum": [
"VirtualMachineScaleSets",
@@ -981,7 +1114,7 @@
"name": "AgentPoolType",
"modelAsString": true
},
- "description": "AgentPoolType represents types of agentpool"
+ "description": "AgentPoolType represents types of an agent pool"
},
"ContainerServiceWindowsProfile": {
"properties": {
@@ -1181,7 +1314,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master pool."
+ "description": "FQDN for the master pool."
},
"agentPoolProfiles": {
"type": "array",
@@ -1410,14 +1543,15 @@
},
"description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
},
- "CredentialResults":{
+ "CredentialResults": {
"properties": {
"kubeconfigs": {
- "type" : "array",
+ "type": "array",
"readOnly": true,
"items": {
"$ref": "#/definitions/CredentialResult"
- }
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
}
},
"description": "The list of credential result response."
@@ -1425,7 +1559,7 @@
"CredentialResult": {
"type": "object",
"properties": {
- "name":{
+ "name": {
"type": "string",
"readOnly": true,
"description": "The name of the credential."
@@ -1438,6 +1572,41 @@
}
},
"description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
}
},
"parameters": {
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersCreate_Update.json
similarity index 81%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersCreate_Update.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersCreate_Update.json
index 01bff520aec2..c783cccc34bf 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersCreate_Update.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersCreate_Update.json
@@ -13,13 +13,13 @@
"properties": {
"openShiftVersion": "v3.10",
"fqdn": "clustername1.location1.cloudapp.azure.com",
- "networkProfile":{
- "vnetCidr":"10.0.0.0/8"
+ "networkProfile": {
+ "vnetCidr": "10.0.0.0/8"
},
"masterPoolProfile": {
"name": "master",
"count": 3,
- "vmSize": "Standard_D2s_v3",
+ "vmSize": "Standard_D4s_v3",
"osType": "Linux",
"subnetCidr": "10.0.0.0/24"
},
@@ -47,15 +47,17 @@
}
],
"authProfile": {
- "identityProviders": [{
- "name": "Azure AD",
- "provider": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
"kind": "AADIdentityProvider",
"clientId": "clientId",
"secret": "secret",
"tenantId": "tenantId"
- }
- }]
+ }
+ }
+ ]
}
}
}
@@ -75,13 +77,13 @@
"provisioningState": "Succeeded",
"openShiftVersion": "v3.10",
"fqdn": "clustername1.location1.cloudapp.azure.com",
- "networkProfile":{
- "vnetCidr":"10.0.0.0/8"
+ "networkProfile": {
+ "vnetCidr": "10.0.0.0/8"
},
"masterPoolProfile": {
- "count": 3,
- "vmSize": "Standard_D2s_v3",
- "subnetCidr": "10.0.0.0/24"
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "subnetCidr": "10.0.0.0/24"
},
"agentPoolProfiles": [
{
@@ -109,14 +111,16 @@
}
],
"authProfile": {
- "identityProviders": [{
- "name": "Azure AD",
- "provider": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
"kind": "AADIdentityProvider",
"clientId": "clientId",
"tenantId": "tenantId"
- }
- }]
+ }
+ }
+ ]
}
}
}
@@ -135,15 +139,15 @@
"provisioningState": "Creating",
"openShiftVersion": "v3.10",
"fqdn": "clustername1.location1.cloudapp.azure.com",
- "networkProfile":{
- "vnetCidr":"10.0.0.0/8"
+ "networkProfile": {
+ "vnetCidr": "10.0.0.0/8"
},
"masterPoolProfile": {
- "name": "master",
- "count": 3,
- "vmSize": "Standard_D2s_v3",
- "osType": "Linux",
- "subnetCidr": "10.0.0.0/24"
+ "name": "master",
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "osType": "Linux",
+ "subnetCidr": "10.0.0.0/24"
},
"agentPoolProfiles": [
{
@@ -169,16 +173,18 @@
}
],
"authProfile": {
- "identityProviders": [{
- "name": "Azure AD",
- "provider": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
"kind": "AADIdentityProvider",
"clientId": "clientId",
"tenantId": "tenantId"
- }
- }]
+ }
+ }
+ ]
}
- }
+ }
}
}
}
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersDelete.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersDelete.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersDelete.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersGet.json
similarity index 78%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersGet.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersGet.json
index d54e3a4110bb..395f2a33e128 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersGet.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersGet.json
@@ -20,13 +20,13 @@
"provisioningState": "Succeeded",
"openShiftVersion": "v3.10",
"fqdn": "clustername1.location1.cloudapp.azure.com",
- "networkProfile":{
- "vnetCidr":"10.0.0.0/8"
+ "networkProfile": {
+ "vnetCidr": "10.0.0.0/8"
},
"masterPoolProfile": {
- "count": 3,
- "vmSize": "Standard_D2s_v3",
- "subnetCidr": "10.0.0.0/24"
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "subnetCidr": "10.0.0.0/24"
},
"agentPoolProfiles": [
{
@@ -55,14 +55,15 @@
],
"authProfile": {
"identityProviders": [
- {
- "name": "Azure AD",
- "provider": {
- "kind": "AADIdentityProvider",
- "clientId": "clientId",
- "tenantId": "tenantId"
- }
- }]
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "tenantId": "tenantId"
+ }
+ }
+ ]
}
}
}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersList.json
new file mode 100644
index 000000000000..977c544c54aa
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersList.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2018-09-30-preview",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/openShiftManagedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/OpenShiftManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "openShiftVersion": "v3.10",
+ "fqdn": "clustername1.location1.cloudapp.azure.com",
+ "networkProfile": {
+ "vnetCidr": "10.0.0.0/8"
+ },
+ "masterPoolProfile": {
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "subnetCidr": "10.0.0.0/24"
+ },
+ "agentPoolProfiles": [
+ {
+ "name": "infra",
+ "role": "infra",
+ "count": 2,
+ "vmSize": "Standard_D4s_v3",
+ "osType": "Linux",
+ "subnetCidr": "10.0.0.0/24"
+ },
+ {
+ "name": "compute",
+ "role": "compute",
+ "count": 4,
+ "vmSize": "Standard_D4s_v3",
+ "osType": "Linux",
+ "subnetCidr": "10.0.0.0/24"
+ }
+ ],
+ "routerProfiles": [
+ {
+ "fqdn": "dce5faa189c841b99f8a.location1.cloudapp.azure.com",
+ "name": "default",
+ "publicSubdomain": "b788fade68d345da9b77.location1.int.aksapp.io"
+ }
+ ],
+ "authProfile": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "tenantId": "tenantId"
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..b6c9654f549a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersListByResourceGroup.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2018-09-30-preview",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/openShiftManagedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/OpenShiftManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "openShiftVersion": "v3.10",
+ "fqdn": "clustername1.location1.cloudapp.azure.com",
+ "networkProfile": {
+ "vnetCidr": "10.0.0.0/8"
+ },
+ "masterPoolProfile": {
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "subnetCidr": "10.0.0.0/24"
+ },
+ "agentPoolProfiles": [
+ {
+ "name": "infra",
+ "role": "infra",
+ "count": 2,
+ "vmSize": "Standard_D4s_v3",
+ "osType": "Linux",
+ "subnetCidr": "10.0.0.0/24"
+ },
+ {
+ "name": "compute",
+ "role": "compute",
+ "count": 4,
+ "vmSize": "Standard_D4s_v3",
+ "osType": "Linux",
+ "subnetCidr": "10.0.0.0/24"
+ }
+ ],
+ "routerProfiles": [
+ {
+ "fqdn": "dce5faa189c841b99f8a.location1.cloudapp.azure.com",
+ "name": "default",
+ "publicSubdomain": "b788fade68d345da9b77.location1.int.aksapp.io"
+ }
+ ],
+ "authProfile": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
+ "kind": "AADIdentityProvider",
+ "clientId": "clientId",
+ "tenantId": "tenantId"
+ }
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersUpdateTags.json
similarity index 84%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersUpdateTags.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersUpdateTags.json
index fc939f348e06..bacae0cab82f 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersUpdateTags.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/examples/OpenShiftManagedClustersUpdateTags.json
@@ -26,13 +26,13 @@
"provisioningState": "Succeeded",
"openShiftVersion": "v3.10",
"fqdn": "clustername1.location1.cloudapp.azure.com",
- "networkProfile":{
- "vnetCidr":"10.0.0.0/8"
+ "networkProfile": {
+ "vnetCidr": "10.0.0.0/8"
},
"masterPoolProfile": {
- "count": 3,
- "vmSize": "Standard_D2s_v3",
- "subnetCidr": "10.0.0.0/24"
+ "count": 3,
+ "vmSize": "Standard_D4s_v3",
+ "subnetCidr": "10.0.0.0/24"
},
"agentPoolProfiles": [
{
@@ -60,14 +60,16 @@
}
],
"authProfile": {
- "identityProviders": [{
- "name": "Azure AD",
- "provider": {
+ "identityProviders": [
+ {
+ "name": "Azure AD",
+ "provider": {
"kind": "AADIdentityProvider",
"clientId": "clientId",
"tenantId": "tenantId"
- }
- }]
+ }
+ }
+ ]
}
}
}
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
similarity index 75%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
index f43a0f78f1cb..cdef91638972 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
@@ -34,14 +34,90 @@
}
},
"paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/openShiftManagedClusters": {
+ "get": {
+ "tags": [
+ "OpenShiftManagedClusters"
+ ],
+ "operationId": "OpenShiftManagedClusters_List",
+ "summary": "Gets a list of OpenShift managed clusters in the specified subscription.",
+ "description": "Gets a list of OpenShift managed clusters in the specified subscription. The operation returns properties of each OpenShift managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OpenShiftManagedClusterListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/OpenShiftManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters": {
+ "get": {
+ "tags": [
+ "OpenShiftManagedClusters"
+ ],
+ "operationId": "OpenShiftManagedClusters_ListByResourceGroup",
+ "summary": "Lists OpenShift managed clusters in the specified subscription and resource group.",
+ "description": "Lists OpenShift managed clusters in the specified subscription and resource group. The operation returns properties of each OpenShift managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OpenShiftManagedClusterListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/OpenShiftManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters/{resourceName}": {
"get": {
"tags": [
"OpenShiftManagedClusters"
],
"operationId": "OpenShiftManagedClusters_Get",
- "summary": "Gets a openshift managed cluster.",
- "description": "Gets the details of the managed openshift cluster with a specified resource group and name.",
+ "summary": "Gets a OpenShift managed cluster.",
+ "description": "Gets the details of the managed OpenShift cluster with a specified resource group and name.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -54,6 +130,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -61,7 +138,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the openshift managed cluster resource."
+ "description": "The name of the OpenShift managed cluster resource."
}
],
"responses": {
@@ -89,8 +166,8 @@
"OpenShiftManagedClusters"
],
"operationId": "OpenShiftManagedClusters_CreateOrUpdate",
- "summary": "Creates or updates an openshift managed cluster.",
- "description": "Creates or updates a openshift managed cluster with the specified configuration for agents and OpenShift version.",
+ "summary": "Creates or updates an OpenShift managed cluster.",
+ "description": "Creates or updates a OpenShift managed cluster with the specified configuration for agents and OpenShift version.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -103,6 +180,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -110,7 +188,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the openshift managed cluster resource."
+ "description": "The name of the OpenShift managed cluster resource."
},
{
"name": "parameters",
@@ -154,8 +232,8 @@
"OpenShiftManagedClusters"
],
"operationId": "OpenShiftManagedClusters_UpdateTags",
- "summary": "Updates tags on an openshift managed cluster.",
- "description": "Updates an openshift managed cluster with the specified tags.",
+ "summary": "Updates tags on an OpenShift managed cluster.",
+ "description": "Updates an OpenShift managed cluster with the specified tags.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -168,6 +246,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -175,7 +254,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the openshift managed cluster resource."
+ "description": "The name of the OpenShift managed cluster resource."
},
{
"name": "parameters",
@@ -213,8 +292,8 @@
"OpenShiftManagedClusters"
],
"operationId": "OpenShiftManagedClusters_Delete",
- "summary": "Deletes an openshift managed cluster.",
- "description": "Deletes the openshift managed cluster with a specified resource group and name.",
+ "summary": "Deletes an OpenShift managed cluster.",
+ "description": "Deletes the OpenShift managed cluster with a specified resource group and name.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -227,6 +306,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -234,7 +314,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the openshift managed cluster resource."
+ "description": "The name of the OpenShift managed cluster resource."
}
],
"responses": {
@@ -304,7 +384,8 @@
"x-ms-external": true,
"properties": {
"error": {
- "$ref": "#/definitions/CloudErrorBody"
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
}
},
"description": "An error response from the Container service."
@@ -361,9 +442,9 @@
"type": "string",
"description": "Name of the router profile."
},
- "publicSubdomain" : {
+ "publicSubdomain": {
"type": "string",
- "description": "DNS subdomain for openshift router."
+ "description": "DNS subdomain for OpenShift router."
},
"fqdn": {
"readOnly": true,
@@ -380,7 +461,7 @@
"description": "CIDR for the OpenShift Vnet.",
"default": "10.0.0.0/8"
},
- "peerVnetId" : {
+ "peerVnetId": {
"type": "string",
"description": "CIDR of the Vnet to peer."
}
@@ -409,7 +490,38 @@
"description": "Size of OpenShift VMs.",
"enum": [
"Standard_D2s_v3",
- "Standard_D4s_v3"
+ "Standard_D4s_v3",
+ "Standard_D8s_v3",
+ "Standard_D16s_v3",
+ "Standard_D32s_v3",
+ "Standard_D64s_v3",
+ "Standard_DS4_v2",
+ "Standard_DS5_v2",
+ "Standard_F8s_v2",
+ "Standard_F16s_v2",
+ "Standard_F32s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8s",
+ "Standard_F16s",
+ "Standard_E4s_v3",
+ "Standard_E8s_v3",
+ "Standard_E16s_v3",
+ "Standard_E20s_v3",
+ "Standard_E32s_v3",
+ "Standard_E64s_v3",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS5",
+ "Standard_DS12_v2",
+ "Standard_DS13_v2",
+ "Standard_DS14_v2",
+ "Standard_DS15_v2",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_L16s",
+ "Standard_L32s"
]
},
"OpenShiftAgentPoolProfileRole": {
@@ -433,10 +545,7 @@
"count": {
"type": "integer",
"format": "int32",
- "maximum": 10,
- "minimum": 1,
- "description": "Number of masters (VMs) to host docker containers. The default value is 3.",
- "default": 3
+ "description": "Number of masters (VMs) to host docker containers. The default value is 3."
},
"vmSize": {
"$ref": "#/definitions/OpenShiftContainerServiceVMSize",
@@ -466,10 +575,7 @@
"count": {
"type": "integer",
"format": "int32",
- "maximum": 5,
- "minimum": 1,
- "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 5 (inclusive). The default value is 2. ",
- "default": 2
+ "description": "Number of agents (VMs) to host docker containers."
},
"vmSize": {
"$ref": "#/definitions/OpenShiftContainerServiceVMSize",
@@ -484,7 +590,7 @@
"$ref": "#/definitions/OSType",
"description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
},
- "role" : {
+ "role": {
"description": "Define the role of the AgentPoolProfile.",
"$ref": "#/definitions/OpenShiftAgentPoolProfileRole"
}
@@ -513,7 +619,7 @@
"properties": {
"identityProviders": {
"type": "array",
- "items" : {
+ "items": {
"$ref": "#/definitions/OpenShiftManagedClusterIdentityProvider"
},
"description": "Type of authentication profile to use."
@@ -570,7 +676,7 @@
"required": [
"openShiftVersion"
],
- "description": "Properties of the openshift managed cluster."
+ "description": "Properties of the OpenShift managed cluster."
},
"OpenShiftManagedCluster": {
"allOf": [
@@ -579,12 +685,12 @@
},
{
"properties": {
- "plan" : {
+ "plan": {
"description": "Define the resource plan as required by ARM for billing purposes",
"$ref": "#/definitions/PurchasePlan"
},
"properties": {
- "description": "Properties of a openshift managed cluster.",
+ "description": "Properties of a OpenShift managed cluster.",
"$ref": "#/definitions/OpenShiftManagedClusterProperties",
"x-ms-client-flatten": true
}
@@ -593,40 +699,41 @@
],
"description": "OpenShift Managed cluster."
},
- "OpenShiftManagedClusterBaseIdentityProvider":
- {
+ "OpenShiftManagedClusterBaseIdentityProvider": {
"discriminator": "kind",
- "required": ["kind"],
+ "required": [
+ "kind"
+ ],
"properties": {
- "kind": {
- "type": "string",
- "description": "The kind of the provider."
- }
- },
- "description": "Structure for any Identity provider."
+ "kind": {
+ "type": "string",
+ "description": "The kind of the provider."
+ }
+ },
+ "description": "Structure for any Identity provider."
},
"OpenShiftManagedClusterAADIdentityProvider": {
"x-ms-discriminator-value": "AADIdentityProvider",
"allOf": [
- {
+ {
"$ref": "#/definitions/OpenShiftManagedClusterBaseIdentityProvider"
- },
- {
- "properties": {
- "clientId": {
- "type": "string",
- "description": "The clientId password associated with the provider."
- },
- "secret": {
- "type": "string",
- "description": "The secret password associated with the provider."
- },
- "tenantId": {
- "type": "string",
- "description": "The tenantId associated with the provider."
+ },
+ {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The clientId password associated with the provider."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the provider."
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenantId associated with the provider."
+ }
}
}
- }
],
"description": "Defines the Identity provider for MS AAD."
},
@@ -641,6 +748,23 @@
}
},
"description": "Tags object for patch operations."
+ },
+ "OpenShiftManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OpenShiftManagedCluster"
+ },
+ "description": "The list of OpenShift managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of OpenShift managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List OpenShift Managed Clusters operation."
}
},
"parameters": {
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2016-03-30/containerService.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2016-03-30/containerService.json
similarity index 97%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2016-03-30/containerService.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2016-03-30/containerService.json
index f0d7ec663d6c..01437fb2681c 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2016-03-30/containerService.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2016-03-30/containerService.json
@@ -18,6 +18,7 @@
"paths": {
"/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices": {
"get": {
+ "deprecated": true,
"tags": [
"ContainerServices"
],
@@ -46,6 +47,7 @@
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}": {
"put": {
+ "deprecated": true,
"tags": [
"ContainerServices"
],
@@ -105,6 +107,7 @@
"x-ms-long-running-operation": true
},
"get": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -142,6 +145,7 @@
}
},
"delete": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -182,6 +186,7 @@
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices": {
"get": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -268,7 +273,9 @@
}
},
"description": "Profile for the container service orchestrator.",
- "required": [ "orchestratorType" ]
+ "required": [
+ "orchestratorType"
+ ]
},
"ContainerServiceMasterProfile": {
"properties": {
@@ -290,7 +297,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master."
+ "description": "FQDN for the master."
}
},
"required": [
@@ -375,7 +382,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the agent pool."
+ "description": "FQDN for the agent pool."
}
},
"required": [
@@ -430,7 +437,9 @@
}
},
"description": "SSH configuration for Linux-based VMs running on Azure.",
- "required": ["publicKeys"]
+ "required": [
+ "publicKeys"
+ ]
},
"ContainerServiceSshPublicKey": {
"properties": {
@@ -451,7 +460,9 @@
"description": "Profile for the container service VM diagnostic agent."
}
},
- "required": ["vmDiagnostics"]
+ "required": [
+ "vmDiagnostics"
+ ]
},
"ContainerServiceVMDiagnostics": {
"properties": {
@@ -489,7 +500,7 @@
"value": {
"type": "array",
"items": {
- "$ref": "#/definitions/ContainerService"
+ "$ref": "#/definitions/ContainerService"
},
"description": "the list of container services."
}
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2016-09-30/containerService.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2016-09-30/containerService.json
similarity index 97%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2016-09-30/containerService.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2016-09-30/containerService.json
index 3d65d2e69b3f..4c4cba0373e7 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2016-09-30/containerService.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2016-09-30/containerService.json
@@ -18,6 +18,7 @@
"paths": {
"/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices": {
"get": {
+ "deprecated": true,
"tags": [
"ContainerServices"
],
@@ -47,6 +48,7 @@
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}": {
"put": {
+ "deprecated": true,
"tags": [
"ContainerServices"
],
@@ -107,11 +109,12 @@
"x-ms-long-running-operation": true
},
"get": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
"operationId": "ContainerServices_Get",
- "summary":"Gets the properties of the specified container service.",
+ "summary": "Gets the properties of the specified container service.",
"description": "Gets the properties of the specified container service in the specified subscription and resource group. The operation returns the properties including state, orchestrator, number of masters and agents, and FQDNs of masters and agents. ",
"parameters": [
{
@@ -145,6 +148,7 @@
}
},
"delete": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -186,6 +190,7 @@
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices": {
"get": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -265,7 +270,9 @@
}
},
"description": "Properties to configure a custom container service cluster.",
- "required": ["orchestrator"]
+ "required": [
+ "orchestrator"
+ ]
},
"ContainerServiceServicePrincipalProfile": {
"properties": {
@@ -302,7 +309,9 @@
}
},
"description": "Profile for the container service orchestrator.",
- "required": [ "orchestratorType" ]
+ "required": [
+ "orchestratorType"
+ ]
},
"ContainerServiceMasterProfile": {
"properties": {
@@ -324,7 +333,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master."
+ "description": "FQDN for the master."
}
},
"required": [
@@ -410,7 +419,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the agent pool."
+ "description": "FQDN for the agent pool."
}
},
"required": [
@@ -469,7 +478,9 @@
}
},
"description": "SSH configuration for Linux-based VMs running on Azure.",
- "required": ["publicKeys"]
+ "required": [
+ "publicKeys"
+ ]
},
"ContainerServiceSshPublicKey": {
"properties": {
@@ -490,7 +501,9 @@
"description": "Profile for the container service VM diagnostic agent."
}
},
- "required": ["vmDiagnostics"]
+ "required": [
+ "vmDiagnostics"
+ ]
},
"ContainerServiceVMDiagnostics": {
"properties": {
@@ -528,7 +541,7 @@
"value": {
"type": "array",
"items": {
- "$ref": "#/definitions/ContainerService"
+ "$ref": "#/definitions/ContainerService"
},
"description": "the list of container services."
},
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/containerService.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/containerService.json
similarity index 97%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/containerService.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/containerService.json
index 203f1728ccb7..5b5b60c22420 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/containerService.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/containerService.json
@@ -36,6 +36,7 @@
"paths": {
"/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices": {
"get": {
+ "deprecated": true,
"tags": [
"ContainerServices"
],
@@ -70,6 +71,7 @@
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}": {
"put": {
+ "deprecated": true,
"tags": [
"ContainerServices"
],
@@ -135,11 +137,12 @@
}
},
"get": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
"operationId": "ContainerServices_Get",
- "summary":"Gets the properties of the specified container service.",
+ "summary": "Gets the properties of the specified container service.",
"description": "Gets the properties of the specified container service in the specified subscription and resource group. The operation returns the properties including state, orchestrator, number of masters and agents, and FQDNs of masters and agents. ",
"parameters": [
{
@@ -178,6 +181,7 @@
}
},
"delete": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -224,6 +228,7 @@
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices": {
"get": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -308,7 +313,9 @@
}
},
"description": "Properties to configure a custom container service cluster.",
- "required": ["orchestrator"]
+ "required": [
+ "orchestrator"
+ ]
},
"ContainerServiceServicePrincipalProfile": {
"properties": {
@@ -345,7 +352,9 @@
}
},
"description": "Profile for the container service orchestrator.",
- "required": [ "orchestratorType" ]
+ "required": [
+ "orchestratorType"
+ ]
},
"ContainerServiceMasterProfile": {
"properties": {
@@ -367,7 +376,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master."
+ "description": "FQDN for the master."
}
},
"required": [
@@ -453,7 +462,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the agent pool."
+ "description": "FQDN for the agent pool."
}
},
"required": [
@@ -512,7 +521,9 @@
}
},
"description": "SSH configuration for Linux-based VMs running on Azure.",
- "required": ["publicKeys"]
+ "required": [
+ "publicKeys"
+ ]
},
"ContainerServiceSshPublicKey": {
"properties": {
@@ -533,7 +544,9 @@
"description": "Profile for the container service VM diagnostic agent."
}
},
- "required": ["vmDiagnostics"]
+ "required": [
+ "vmDiagnostics"
+ ]
},
"ContainerServiceVMDiagnostics": {
"properties": {
@@ -571,7 +584,7 @@
"value": {
"type": "array",
"items": {
- "$ref": "#/definitions/ContainerService"
+ "$ref": "#/definitions/ContainerService"
},
"description": "the list of container services."
},
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesCreate_Update.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesCreate_Update.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesCreate_Update.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesDelete.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesDelete.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesDelete.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesGet.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesGet.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesGet.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesList.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesList.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesList.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesListByResourceGroup.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesListByResourceGroup.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-01-31/examples/ContainerServicesListByResourceGroup.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json
similarity index 98%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json
index 65156e39204e..0be58e80fc65 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json
@@ -36,6 +36,7 @@
"paths": {
"/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices": {
"get": {
+ "deprecated": true,
"tags": [
"ContainerServices"
],
@@ -70,6 +71,7 @@
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}": {
"put": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -131,6 +133,7 @@
}
},
"get": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -170,6 +173,7 @@
}
},
"delete": {
+ "deprecated": true,
"tags": [
"ContainerService"
],
@@ -212,6 +216,7 @@
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices": {
"get": {
+ "deprecated": true,
"tags": [
"ContainerServices"
],
@@ -309,7 +314,7 @@
},
"ContainerServiceVnetSubnetID": {
"type": "string",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"ContainerServiceVMSize": {
"type": "string",
@@ -606,7 +611,7 @@
},
"vnetSubnetID": {
"$ref": "#/definitions/ContainerServiceVnetSubnetID",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"firstConsecutiveStaticIP": {
"type": "string",
@@ -620,7 +625,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master pool."
+ "description": "FQDN for the master pool."
}
},
"required": [
@@ -658,7 +663,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the agent pool."
+ "description": "FQDN for the agent pool."
},
"ports": {
"type": "array",
@@ -675,7 +680,7 @@
},
"vnetSubnetID": {
"$ref": "#/definitions/ContainerServiceVnetSubnetID",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"osType": {
"$ref": "#/definitions/OSType",
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServiceCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServiceCreate_Update.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServiceCreate_Update.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServiceCreate_Update.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServiceDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServiceDelete.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServiceDelete.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServiceDelete.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesGet.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesGet.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesGet.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesList.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesList.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesList.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesListByResourceGroup.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesListByResourceGroup.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-07-01/examples/ContainerServicesListByResourceGroup.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersAccessProfilesGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersAccessProfilesGet.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersAccessProfilesGet.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersAccessProfilesGet.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersCreate_Update.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersCreate_Update.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersCreate_Update.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersDelete.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersDelete.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersDelete.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGet.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGet.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGet.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGetAccessProfile.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGetAccessProfile.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGetAccessProfile.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGetUpgradeProfile.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGetUpgradeProfile.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersGetUpgradeProfile.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersList.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersList.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersList.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersListByResourceGroup.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersListByResourceGroup.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/examples/ManagedClustersListByResourceGroup.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/managedClusters.json
similarity index 99%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/managedClusters.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/managedClusters.json
index 7d204d355334..a639544bdd58 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-08-31/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-08-31/managedClusters.json
@@ -469,7 +469,7 @@
},
"ContainerServiceVnetSubnetID": {
"type": "string",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"ContainerServiceVMSize": {
"type": "string",
@@ -727,7 +727,7 @@
},
"vnetSubnetID": {
"$ref": "#/definitions/ContainerServiceVnetSubnetID",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"firstConsecutiveStaticIP": {
"type": "string",
@@ -741,7 +741,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master pool."
+ "description": "FQDN for the master pool."
}
},
"required": [
@@ -779,7 +779,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the agent pool."
+ "description": "FQDN for the agent pool."
},
"ports": {
"type": "array",
@@ -796,7 +796,7 @@
},
"vnetSubnetID": {
"$ref": "#/definitions/ContainerServiceVnetSubnetID",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"osType": {
"$ref": "#/definitions/OSType",
@@ -950,7 +950,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master pool."
+ "description": "FQDN for the master pool."
},
"kubernetesVersion": {
"type": "string",
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-09-30/examples/ContainerServiceListOrchestrators.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-09-30/examples/ContainerServiceListOrchestrators.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-09-30/examples/ContainerServiceListOrchestrators.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-09-30/examples/ContainerServiceListOrchestrators.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json
similarity index 98%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json
index 47963f51484b..fc0cb0c73f34 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2017-09-30/location.json
@@ -41,7 +41,7 @@
],
"operationId": "ContainerServices_ListOrchestrators",
"summary": "Gets a list of supported orchestrators in the specified subscription.",
- "description": "Gets a list of supported orchestrators in the specified subscription. The operation returns properties of each orchestrator including verison and available upgrades.",
+ "description": "Gets a list of supported orchestrators in the specified subscription. The operation returns properties of each orchestrator including version and available upgrades.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersDelete.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersDelete.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersDelete.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetAccessProfile.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetAccessProfile.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetAccessProfile.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetUpgradeProfile.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetUpgradeProfile.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetUpgradeProfile.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListClusterCredentialResult.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListClusterCredentialResult.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListClusterCredentialResult.json
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..fbe01c93ed3b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2018-03-31",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+ }
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..985595c62666
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-03-31",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+ }
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersUpdateTags.json
similarity index 100%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersUpdateTags.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersUpdateTags.json
diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json
similarity index 90%
rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json
rename to specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json
index 2353eeb279eb..0b00fbf5f352 100644
--- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json
@@ -113,6 +113,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
}
],
@@ -154,6 +155,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -199,6 +201,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -237,8 +240,8 @@
"ManagedClusters"
],
"operationId": "ManagedClusters_ListClusterAdminCredentials",
- "summary": "Gets clusteradmin credential of a managed cluster.",
- "description": "Gets clusteradmin credential of the managed cluster with a specified resource group and name.",
+ "summary": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -251,6 +254,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -282,8 +286,8 @@
"ManagedClusters"
],
"operationId": "ManagedClusters_ListClusterUserCredentials",
- "summary": "Gets clusteruser credential of a managed cluster.",
- "description": "Gets clusteruser credential of the managed cluster with a specified resource group and name.",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -296,6 +300,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -341,6 +346,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -384,6 +390,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -443,6 +450,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -496,6 +504,7 @@
"in": "path",
"required": true,
"type": "string",
+ "minLength": 1,
"description": "The name of the resource group."
},
{
@@ -521,6 +530,118 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
}
},
"definitions": {
@@ -654,7 +775,7 @@
},
"ContainerServiceVnetSubnetID": {
"type": "string",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"ContainerServiceVMSize": {
"type": "string",
@@ -887,7 +1008,7 @@
},
"vnetSubnetID": {
"$ref": "#/definitions/ContainerServiceVnetSubnetID",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"firstConsecutiveStaticIP": {
"type": "string",
@@ -901,7 +1022,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master pool."
+ "description": "FQDN for the master pool."
}
},
"required": [
@@ -914,7 +1035,8 @@
"properties": {
"name": {
"type": "string",
- "description": "Unique name of the agent pool profile in the context of the subscription and resource group."
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
},
"count": {
"type": "integer",
@@ -939,7 +1061,7 @@
},
"vnetSubnetID": {
"$ref": "#/definitions/ContainerServiceVnetSubnetID",
- "description": "VNet SubnetID specifies the vnet's subnet identifier."
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
},
"maxPods": {
"type": "integer",
@@ -1155,7 +1277,7 @@
"fqdn": {
"readOnly": true,
"type": "string",
- "description": "FDQN for the master pool."
+ "description": "FQDN for the master pool."
},
"agentPoolProfiles": {
"type": "array",
@@ -1384,14 +1506,15 @@
},
"description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
},
- "CredentialResults":{
+ "CredentialResults": {
"properties": {
"kubeconfigs": {
- "type" : "array",
+ "type": "array",
"readOnly": true,
"items": {
"$ref": "#/definitions/CredentialResult"
- }
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
}
},
"description": "The list of credential result response."
@@ -1399,7 +1522,7 @@
"CredentialResult": {
"type": "object",
"properties": {
- "name":{
+ "name": {
"type": "string",
"readOnly": true,
"description": "The name of the credential."
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..bfe272480c8b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,150 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {
+ },
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..9b4c818498fa
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..aa516f5637ed
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersGet.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ]
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..dc77c1e5fc90
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..3736906dfa93
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ "1.8.1"
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ "1.8.1"
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..bb1ae1993fa3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersList.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..57062eaf45d9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..6f432b44ce78
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..b2d9d7b2c3eb
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+ }
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..c8dd88bdb71a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+ }
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..2f8698519d63
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
new file mode 100644
index 000000000000..488431930d78
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
@@ -0,0 +1,1727 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2019-02-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.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for a managed cluster.",
+ "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role for managed cluster accessProfile resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAccessProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetAccessProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterAdminCredentials",
+ "summary": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "description": "Gets the details of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update a Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "description": "Updates a managed cluster with the specified tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "description": "Deletes the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed cluster resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Compute Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "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": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "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."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1023,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType",
+ "description": "AgentPoolType represents types of an agent pool"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Version of orchestrator specified when creating the managed cluster."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "(PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType."
+ }
+ },
+ "required": [
+ "vmSize",
+ "count"
+ ],
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group."
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true
+ },
+ "description": "AgentPoolType represents types of an agent pool. VirtualMachineScaleSets type is still in PREVIEW."
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPool": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of an agent pool.",
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Agent Pool."
+ },
+ "ContainerServiceWindowsProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Windows VMs.",
+ "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "The administrator password to use for Windows VMs.",
+ "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ }
+ },
+ "required": [
+ "adminUsername",
+ "adminPassword"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "nodeResourceGroup": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "apiServerAuthorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "(PREVIEW) Authorized IP Ranges to kubernetes API server."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "OrchestratorProfile": {
+ "properties": {
+ "orchestratorType": {
+ "type": "string",
+ "description": "Orchestrator type."
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Orchestrator version (major, minor, patch)."
+ }
+ },
+ "required": [
+ "orchestratorType",
+ "orchestratorVersion"
+ ],
+ "description": "Contains information about orchestrator."
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "required": [
+ "clientAppID",
+ "serverAppID"
+ ],
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ }
+ },
+ "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"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/containerservices/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
similarity index 87%
rename from specification/containerservices/resource-manager/readme.go.md
rename to specification/containerservice/resource-manager/readme.go.md
index 15265b63ac8f..0c4f8b261efc 100644
--- a/specification/containerservices/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -12,6 +12,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-02
- tag: package-2018-09-30-preview
- tag: package-2018-08-preview
- tag: package-2018-03
@@ -20,6 +21,16 @@ batch:
- tag: package-2017-07
```
+### Tag: package-2019-02 and go
+
+These settings apply only when `--package-2019-02 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2019-02' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-02-01/$(namespace)
+```
+
### Tag: package-2018-09-30-preview and go
These settings apply only when `--package-2018-09-30-preview --go` is specified on the command line.
diff --git a/specification/containerservices/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md
similarity index 86%
rename from specification/containerservices/resource-manager/readme.md
rename to specification/containerservice/resource-manager/readme.md
index ea89f9b475bd..7f7772a46b67 100644
--- a/specification/containerservices/resource-manager/readme.md
+++ b/specification/containerservice/resource-manager/readme.md
@@ -8,7 +8,7 @@ The ContainerServices RPv2 consists of two similar services: ContainerServices a
Each service has its own swagger spec.
The two specs are united by running `autorest` in this directory, which will use this readme.md
-file for configuration options. It will generate a single *azure-mgmt-containerservices* client
+file for configuration options. It will generate a single *azure-mgmt-containerservice* client
library.
---
@@ -32,11 +32,23 @@ To see additional help and options, run:
These are the global settings for the ContainerServices API.
-```yaml
+``` yaml
openapi-type: arm
-tag: package-2018-08-preview
+tag: package-2019-02
```
+
+### Tag: package-2019-02
+
+These settings apply only when `--tag=package-2019-02` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-02'
+input-file:
+- Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
+- Microsoft.ContainerService/stable/2017-07-01/containerService.json
+- Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
+- Microsoft.ContainerService/stable/2017-09-30/location.json
+```
### Tag: package-2018-08-preview
These settings apply only when `--tag=package-2018-08-preview` is specified on the command line.
@@ -102,6 +114,15 @@ input-file:
- Microsoft.ContainerService/stable/2017-07-01/containerService.json
```
+### Tag: package-2019-02-only
+
+These settings apply only when `--tag=package-2019-02-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-02-only'
+input-file:
+- Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
+```
+
### Tag: package-2018-08-preview-only
These settings apply only when `--tag=package-2018-08-preview-only` is specified on the command line.
@@ -192,7 +213,6 @@ input-file:
# Code Generation
-
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -206,12 +226,28 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
+ - repo: azure-sdk-for-net
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_service']
```
+## 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.ContainerService
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/ContainerService/Management.ContainerService/Generated
+ clear-output-folder: true
+```
+
## Go
See configuration in [readme.go.md](./readme.go.md)
@@ -233,6 +269,7 @@ description: "Container Service Client"
```
### Java multi-api
+
``` yaml $(java) && $(multiapi)
batch:
- tag: package-2017-09-only
@@ -285,7 +322,7 @@ generate-interface: true
directive:
- suppress: DefinitionsPropertiesNamesCamelCase
from: managedClusters.json
- reason: Name chamge of "enableRBAC" property would break compatibility
+ reason: Name change of "enableRBAC" property would break compatibility
- suppress: TrackedResourcePatchOperation
from: containerService.json
reason: ACS service is deprecated so a PATCH endpoint won't be implemented
diff --git a/specification/containerservices/resource-manager/readme.nodejs.md b/specification/containerservice/resource-manager/readme.nodejs.md
similarity index 100%
rename from specification/containerservices/resource-manager/readme.nodejs.md
rename to specification/containerservice/resource-manager/readme.nodejs.md
diff --git a/specification/containerservices/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md
similarity index 83%
rename from specification/containerservices/resource-manager/readme.python.md
rename to specification/containerservice/resource-manager/readme.python.md
index a4a2ac91c8c3..f88ba8b4419b 100644
--- a/specification/containerservices/resource-manager/readme.python.md
+++ b/specification/containerservice/resource-manager/readme.python.md
@@ -18,11 +18,22 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2019-02-only
- tag: package-2018-09-preview-only
- tag: package-2018-08-preview-only
- tag: package-2018-03-only
- tag: package-2017-07-only-extended
```
+### Tag: package-2019-02-only and python
+
+These settings apply only when `--tag=package-2019-02-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-02-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2019_02_01_preview
+ output-folder: $(python-sdks-folder)/azure-mgmt-containerservice/azure/mgmt/containerservice/v2019_02_01_preview
+```
### Tag: package-2018-09-preview-only and python
diff --git a/specification/containerservices/resource-manager/readme.ruby.md b/specification/containerservice/resource-manager/readme.ruby.md
similarity index 100%
rename from specification/containerservices/resource-manager/readme.ruby.md
rename to specification/containerservice/resource-manager/readme.ruby.md
diff --git a/specification/containerservices/resource-manager/readme.typescript.md b/specification/containerservice/resource-manager/readme.typescript.md
similarity index 100%
rename from specification/containerservices/resource-manager/readme.typescript.md
rename to specification/containerservice/resource-manager/readme.typescript.md
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json
index 39a8195423e8..4adfa0fe88be 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json
@@ -1860,13 +1860,486 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_ListByEnrollment",
+ "description": "List all alerts for an enrollment.",
+ "x-ms-examples": {
+ "Alert_List": {
+ "$ref": "./examples/AlertList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter alerts by properties/definition/type, properties/definition/category, properties/definition/criteria, properties/costEntityId, properties/creationTime, properties/closeTime, properties/status, properties/source. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "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 alerts.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AlertListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_ListByDepartment",
+ "description": "List all alerts for a department.",
+ "x-ms-examples": {
+ "Alert_List": {
+ "$ref": "./examples/AlertList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter alerts by properties/definition/type, properties/definition/category, properties/definition/criteria, properties/costEntityId, properties/creationTime, properties/closeTime, properties/status, properties/source. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "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 alerts.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AlertListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_ListByAccount",
+ "description": "List all alerts for an account.",
+ "x-ms-examples": {
+ "Alert_List": {
+ "$ref": "./examples/AlertList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter alerts by properties/definition/type, properties/definition/category, properties/definition/criteria, properties/costEntityId, properties/creationTime, properties/closeTime, properties/status, properties/source. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "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 alerts.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AlertListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_ListByManagementGroups",
+ "description": "List all alerts for Management Groups.",
+ "x-ms-examples": {
+ "Alert_List": {
+ "$ref": "./examples/AlertList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter alerts by properties/definition/type, properties/definition/category, properties/definition/criteria, properties/costEntityId, properties/creationTime, properties/closeTime, properties/status, properties/source. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "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 alerts.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AlertListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/alerts/{alertId}": {
"get": {
"tags": [
"Alerts"
],
- "operationId": "Alerts_GetBySubscription",
- "description": "Gets the alert for a subscription by alert ID.",
+ "operationId": "Alerts_GetBySubscription",
+ "description": "Gets the alert for a subscription by alert ID.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CostManagement/alerts/{alertId}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_GetByResourceGroupName",
+ "description": "Gets the alert for a resource group under a subscription by alert ID.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/alerts/{alertId}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_GetByEnrollment",
+ "description": "Gets the alert for an enrollment by alert ID.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/alerts/{alertId}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_GetByDepartment",
+ "description": "Gets the alert for a department by alert ID.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentIdParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/alerts/{alertId}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_GetByAccount",
+ "description": "Gets the alert for an account by alert ID.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/alerts/{alertId}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_GetAlertByManagementGroups",
+ "description": "Gets an alert for Management Groups by alert ID.",
"externalDocs": {
"url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
},
@@ -1880,7 +2353,7 @@
"$ref": "#/parameters/apiVersionParameter"
},
{
- "$ref": "#/parameters/subscriptionIdParameter"
+ "$ref": "#/parameters/managementGroupIdParameter"
},
{
"$ref": "#/parameters/alertIdParameter"
@@ -1902,16 +2375,61 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CostManagement/alerts/{alertId}": {
- "get": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/alerts/{alertId}/updateStatus": {
+ "patch": {
"tags": [
"Alerts"
],
- "operationId": "Alerts_GetByResourceGroupName",
- "description": "Gets the alert for a resource group under a subscription by alert ID.",
- "externalDocs": {
- "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ "operationId": "Alerts_UpdateSubscriptionAlertStatus",
+ "description": "Update alerts status for a subscription.",
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
},
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ },
+ "description": "Parameters supplied to the update alerts status operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CostManagement/alerts/{alertId}/updateStatus": {
+ "patch": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_UpdateResourceGroupNameAlertStatus",
+ "description": "Update alerts status for a resource group under a subscription.",
"x-ms-examples": {
"Alert": {
"$ref": "./examples/Alert.json"
@@ -1924,11 +2442,218 @@
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ },
+ "description": "Parameters supplied to the update alerts status operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/alerts/{alertId}/updateStatus": {
+ "patch": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_UpdateBillingAccountAlertStatus",
+ "description": "Update alerts status for billing account.",
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ },
+ "description": "Parameters supplied to the update alerts status operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/alerts/{alertId}/updateStatus": {
+ "patch": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_UpdateDepartmentsAlertStatus",
+ "description": "Update alerts status for a department.",
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentIdParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ },
+ "description": "Parameters supplied to the update alerts status operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/alerts/{alertId}/updateStatus": {
+ "patch": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_UpdateEnrollmentAccountAlertStatus",
+ "description": "Update alerts status for an enrollment account.",
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ },
+ "description": "Parameters supplied to the update alerts status operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/alerts/{alertId}/UpdateStatus": {
+ "patch": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_UpdateManagementGroupAlertStatus",
+ "description": "Update alerts status for management group.",
+ "x-ms-examples": {
+ "Alert": {
+ "$ref": "./examples/Alert.json"
+ }
+ },
+ "parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
},
{
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
"$ref": "#/parameters/alertIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ },
+ "description": "Parameters supplied to the update alerts status operation."
}
],
"responses": {
@@ -2342,7 +3067,8 @@
"description": "The granularity of rows in the report.",
"type": "string",
"enum": [
- "Daily"
+ "Daily",
+ "Hourly"
],
"x-ms-enum": {
"name": "GranularityType",
@@ -2556,11 +3282,13 @@
"description": "The status of the report execution.",
"type": "string",
"enum": [
- "Queud",
+ "Queued",
"InProgress",
"Completed",
"Failed",
- "Timeout"
+ "Timeout",
+ "NewDataNotAvailable",
+ "DataNotAvailable"
],
"x-ms-enum": {
"name": "ExecutionStatus",
@@ -3014,7 +3742,8 @@
"type": "object",
"additionalProperties": {
"type": "string"
- }
+ },
+ "readOnly": true
},
"creationTime": {
"format": "date-time",
@@ -3040,7 +3769,23 @@
"x-ms-enum": {
"name": "AlertStatus",
"modelAsString": true
- },
+ }
+ },
+ "statusModificationTime": {
+ "description": "The current status when alert status was modified.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "modificationTime": {
+ "description": "The current status when alert was modified.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "modificationUsername": {
+ "description": "The username who modified the alert.",
+ "type": "string",
"readOnly": true
}
}
@@ -3048,6 +3793,7 @@
"AlertDefinition": {
"description": "The definition (rule) of an Alert",
"type": "object",
+ "readOnly": true,
"properties" : {
"category": {
"description": "Category of the alert.",
@@ -3132,6 +3878,22 @@
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
+ },
+ "managementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "description": "Management Group ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "enrollmentAccountIdParameter": {
+ "name": "enrollmentAccountId",
+ "in": "path",
+ "description": "Enrollment Account Id",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
},
"reportNameParameter": {
"name": "reportName",
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/examples/Alert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/examples/Alert.json
index 303607957fb9..7b453b028762 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/examples/Alert.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/examples/Alert.json
@@ -26,7 +26,10 @@
"costEntityId": "123",
"creationTime": "2018-09-03T11:21:43.3495582+03:00",
"status": "Active",
- "closeTime": "2018-09-10T11:21:43.3495582+03:00"
+ "closeTime": "2018-09-10T11:21:43.3495582+03:00",
+ "modificationTime": "2018-12-05T10:04:36.0321998Z",
+ "statusModificationUserName": "Ido Ben",
+ "statusModificationTime": "2018-12-05T10:04:36.0321998Z"
}
}
}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/examples/AlertList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/examples/AlertList.json
index fed8b98dd1dd..a81a0565f8dd 100644
--- a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/examples/AlertList.json
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2018-08-01-preview/examples/AlertList.json
@@ -27,7 +27,10 @@
"costEntityId": "123",
"creationTime": "2018-09-03T11:21:43.3495582+03:00",
"status": "Resolved",
- "closeTime": "2018-09-10T11:21:43.3495582+03:00"
+ "closeTime": "2018-09-10T11:21:43.3495582+03:00",
+ "modificationTime": "2018-12-05T10:04:36.0321998Z",
+ "statusModificationUserName": "Ido Ben",
+ "statusModificationTime": "2018-12-05T10:04:36.0321998Z"
}
},
{
@@ -49,7 +52,10 @@
"costEntityId": "abc",
"creationTime": "2018-09-03T11:21:43.3495582+03:00",
"status": "Active",
- "closeTime": "1970-01-01T00:00:00.0000000+00:00"
+ "closeTime": "1970-01-01T00:00:00.0000000+00:00",
+ "modificationTime": "2018-12-05T10:04:36.0321998Z",
+ "statusModificationUserName": "Ido Ben",
+ "statusModificationTime": "2018-12-05T10:04:36.0321998Z"
}
}
]
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json
new file mode 100644
index 000000000000..7d0dc04a466d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json
@@ -0,0 +1,3215 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-03-01-preview",
+ "title": "CostManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [{
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ListByBillingAccount",
+ "description": "Lists the dimensions by billingAccount Id.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "BillingAccountDimensionsList": {
+ "$ref": "./examples/BillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop": {
+ "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter": {
+ "$ref": "./examples/BillingAccountDimensionsListWithFilter.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ListByEnrollmentAccount",
+ "description": "Lists the dimensions by Enrollment Account Id.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "EnrollmentAccountDimensionsList": {
+ "$ref": "./examples/EnrollmentAccountDimensionsList.json"
+ },
+ "EnrollmentAccountDimensionsListExpandAndTop": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json"
+ },
+ "EnrollmentAccountDimensionsListWithFilter": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ListByDepartment",
+ "description": "Lists the dimensions by Department Id.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "DepartmentDimensionsList": {
+ "$ref": "./examples/DepartmentDimensionsList.json"
+ },
+ "DepartmentDimensionsListExpandAndTop": {
+ "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json"
+ },
+ "DepartmentDimensionsListWithFilter": {
+ "$ref": "./examples/DepartmentDimensionsListWithFilter.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ListByManagementGroup",
+ "description": "Lists the dimensions by managementGroup Id.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ManagementGroupDimensionsList": {
+ "$ref": "./examples/ManagementGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsListExpandAndTop": {
+ "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json"
+ },
+ "ManagementGroupDimensionsListWithFilter": {
+ "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ListBySubscription",
+ "description": "Lists the dimensions by subscription Id.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionDimensionsList": {
+ "$ref": "./examples/SubscriptionDimensionsList.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/Query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageBySubscription",
+ "description": "Query the usage data for subscriptionId.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionQuery": {
+ "$ref": "./examples/SubscriptionQuery.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/Forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_UsageBySubscription",
+ "description": "Forecast the usage data for subscriptionId.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionForecast": {
+ "$ref": "./examples/SubscriptionForecast.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ListByResourceGroup",
+ "description": "Lists the dimensions by resource group Id.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupDimensionsList": {
+ "$ref": "./examples/ResourceGroupDimensionsList.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.CostManagement/Query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageByResourceGroup",
+ "description": "Query the usage data for subscriptionId and resource group.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupQuery": {
+ "$ref": "./examples/ResourceGroupQuery.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.CostManagement/Forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_UsageByResourceGroup",
+ "description": "Forecast the usage data for subscriptionId and resource group.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupForecast": {
+ "$ref": "./examples/ResourceGroupForecast.json"
+ }
+
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/Query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageByBillingAccount",
+ "description": "Query the usage data for billing account.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "BillingAccountQuery": {
+ "$ref": "./examples/BillingAccountQuery.json"
+ },
+ "BillingAccountQueryGroupingUsage": {
+ "$ref": "./examples/BillingAccountQueryGrouping.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/Forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_UsageByBillingAccount",
+ "description": "Forecast the usage data for billing account.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "BillingAccountForecast": {
+ "$ref": "./examples/BillingAccountForecast.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/Query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageByEnrollmentAccount",
+ "description": "Query the usage data for an enrollment account.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "EnrollmentAccountQuery": {
+ "$ref": "./examples/EnrollmentAccountQuery.json"
+ },
+ "EnrollmentAccountQueryGroupingUsage": {
+ "$ref": "./examples/EnrollmentAccountQueryGrouping.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}/providers/Microsoft.CostManagement/Forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_UsageByEnrollmentAccount",
+ "description": "Forecast the usage data for an enrollment account.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "EnrollmentAccountForecast": {
+ "$ref": "./examples/EnrollmentAccountForecast.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/Query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageByDepartment",
+ "description": "Query the usage data for department.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "DepartmentQuery": {
+ "$ref": "./examples/DepartmentQuery.json"
+ },
+ "DepartmentQueryGroupingUsage": {
+ "$ref": "./examples/DepartmentQueryGrouping.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.CostManagement/Forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_UsageByDepartment",
+ "description": "Forecast the usage data for department.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "DepartmentForecast": {
+ "$ref": "./examples/DepartmentForecast.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/Query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageByManagmentGroup",
+ "description": "Lists the usage data for management group.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ManagementGroupQuery": {
+ "$ref": "./examples/ManagementGroupQuery.json"
+ },
+ "ManagementGroupQueryGroupingUsage": {
+ "$ref": "./examples/ManagementGroupQueryGrouping.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/Forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_UsageByManagmentGroup",
+ "description": "Lists the usage data for management group.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ManagementGroupForecast": {
+ "$ref": "./examples/ManagementGroupForecast.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Report Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/cloudConnectors": {
+ "get": {
+ "tags": [
+ "CloudConnectors"
+ ],
+ "operationId": "CloudConnector_List",
+ "description": "List all cloud connector definitions",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "CloudConnector_List": {
+ "$ref": "./examples/CloudConnectorList.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ }],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ConnectorDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/cloudConnectors/{connectorName}": {
+ "get": {
+ "tags": [
+ "CloudConnectors"
+ ],
+ "operationId": "CloudConnector_Get",
+ "description": "Get a cloud connector definition",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "CloudConnector_Get": {
+ "$ref": "./examples/CloudConnectorGet.json"
+ },
+ "CloudConnector_Get_Expand": {
+ "$ref": "./examples/CloudConnectorGetExpand.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/connectorNameParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the collectionInfo property. By default, collectionInfo is not included.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "CloudConnectors"
+ ],
+ "operationId": "CloudConnector_CreateOrUpdate",
+ "description": "Create or update a cloud connector definition",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "CloudConnector_Put": {
+ "$ref": "./examples/CloudConnectorPut.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/connectorNameParameter"
+ },
+ {
+ "name": "connector",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "description": "Connector details"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "CloudConnectors"
+ ],
+ "operationId": "CloudConnector_Delete",
+ "description": "Delete a cloud connector definition",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "CloudConnector_Delete": {
+ "$ref": "./examples/CloudConnectorDelete.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/connectorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "CloudConnectors"
+ ],
+ "operationId": "CloudConnector_Update",
+ "description": "Update a cloud connector definition",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "CloudConnector_Patch": {
+ "$ref": "./examples/CloudConnectorPatch.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/connectorNameParameter"
+ },
+ {
+ "name": "connector",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ },
+ "description": "Connector details"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/externalBillingAccounts": {
+ "get": {
+ "tags": [
+ "ExternalBillingAccounts"
+ ],
+ "operationId": "ExternalBillingAccount_List",
+ "description": "List all ExternalBillingAccount definitions",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccount_List": {
+ "$ref": "./examples/ExternalBillingAccountList.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ }],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExternalBillingAccountDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}": {
+ "get": {
+ "tags": [
+ "ExternalBillingAccounts"
+ ],
+ "operationId": "ExternalBillingAccount_Get",
+ "description": "Get a ExternalBillingAccount definition",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccount_Get": {
+ "$ref": "./examples/ExternalBillingAccountGet.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/externalBillingAccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExternalBillingAccountDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}/externalSubscriptions": {
+ "get": {
+ "tags": [
+ "ExternalSubscriptions"
+ ],
+ "operationId": "ExternalSubscription_ListByExternalBillingAccount",
+ "description": "List all ExternalSubscriptions by ExternalBillingAccount definitions",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountExternalSubscription_List": {
+ "$ref": "./examples/ExternalBillingAccountExternalSubscriptionList.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/externalBillingAccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExternalSubscriptionDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/externalSubscriptions": {
+ "get": {
+ "tags": [
+ "ExternalSubscriptions"
+ ],
+ "operationId": "ExternalSubscription_List",
+ "description": "List all ExternalSubscription definitions",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalSubscription_List": {
+ "$ref": "./examples/ExternalSubscriptionList.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ }],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExternalSubscriptionDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}": {
+ "get": {
+ "tags": [
+ "ExternalSubscriptions"
+ ],
+ "operationId": "ExternalSubscription_Get",
+ "description": "Get an ExternalSubscription definition",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalSubscription_Get": {
+ "$ref": "./examples/ExternalSubscriptionGet.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/externalSubscriptionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExternalSubscriptionDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/externalSubscriptions": {
+ "get": {
+ "tags": [
+ "ExternalSubscriptions"
+ ],
+ "operationId": "ExternalSubscription_ListByManagementGroup",
+ "description": "List all ExternalSubscription definitions for Management Group",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalSubscription_List": {
+ "$ref": "./examples/ManagementGroupExternalSubscriptionList.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExternalSubscriptionDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}": {
+ "put": {
+ "tags": [
+ "ExternalSubscriptions"
+ ],
+ "operationId": "ExternalSubscription_UpdateByManagementGroup",
+ "description": "Associates ExternalSubscription with the management group",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ManagementGroupExternalSubscription_Put": {
+ "$ref": "./examples/ManagementGroupExternalSubscriptionPut.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/externalSubscriptionNameParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.CostManagement/getEntities": {
+ "post": {
+ "tags": [
+ "Entities"
+ ],
+ "operationId": "Entities_ListByManagementGroup",
+ "description": "List all entities (Management Groups, Subscriptions, ExternalSubscriptions, etc.) focusing on a particular group for the authenticated user.",
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupIdParameter"
+ },
+ {
+ "$ref": "#/parameters/EntityViewParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EntityListResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetEntities": {
+ "$ref": "./examples/ManagementGroupGetEntities.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/showbackRules": {
+ "get": {
+ "tags": [
+ "ShowbackRules"
+ ],
+ "operationId": "ShowbackRules_List",
+ "description": "Get list all Showback Rules.",
+ "x-ms-examples": {
+ "ShowbackRules_List": {
+ "$ref": "./examples/ShowbackRulesList.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ShowbackRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/showbackRules/{ruleName}": {
+ "get": {
+ "tags": [
+ "ShowbackRules"
+ ],
+ "operationId": "ShowbackRule_GetBillingAccountId",
+ "description": "Gets the showback rule by rule name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ShowbackRules": {
+ "$ref": "./examples/ShowbackRule.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ruleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ShowbackRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ShowbackRules"
+ ],
+ "operationId": "ShowbackRule_CreateUpdateRule",
+ "description": "Create/Update showback rule for billing account.",
+ "x-ms-examples": {
+ "ShowbackRules": {
+ "$ref": "./examples/ShowbackRule.json"
+ }
+ },
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ruleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShowbackRuleProperties"
+ },
+ "description": "Showback rule to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ShowbackRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available consumption REST API operations.",
+ "parameters": [{
+ "$ref": "#/parameters/apiVersionParameter"
+ }],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorBase": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "A machine readable error code.",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "A human readable error message.",
+ "readOnly": true
+ },
+ "target": {
+ "type": "string",
+ "description": "Indicates which property in the request is responsible for the error.",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "A machine readable error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorBase"
+ }
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ReportConfigDefinition": {
+ "description": "The definition of a report config.",
+ "properties": {
+ "type": {
+ "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.",
+ "type": "string",
+ "enum": [
+ "Usage"
+ ],
+ "x-ms-enum": {
+ "name": "ReportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "WeekToDate",
+ "MonthToDate",
+ "YearToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "TimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the report.",
+ "$ref": "#/definitions/ReportConfigTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this report config.",
+ "$ref": "#/definitions/ReportConfigDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "ReportConfigTimePeriod": {
+ "description": "The start and end date for pulling data for the report.",
+ "properties": {
+ "from": {
+ "description": "The start date to pull data from.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date to pull data to.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "ReportConfigDataset": {
+ "description": "The definition of data present in the report.",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the report.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/ReportConfigDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/ReportConfigAggregation"
+ },
+ "maxItems": 2
+ },
+ "grouping": {
+ "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigGrouping"
+ },
+ "maxItems": 2
+ },
+ "sorting": {
+ "description": "Array of order by expression to use in the report.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigSorting"
+ }
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the report.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ }
+ }
+ },
+ "ReportConfigDatasetConfiguration": {
+ "description": "The configuration of dataset in the report.",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ReportConfigAggregation": {
+ "description": "The aggregation expression to be used in the report.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to aggregate.",
+ "type": "string"
+ },
+ "function": {
+ "description": "The name of the aggregation function to use.",
+ "type": "string",
+ "enum": [
+ "Sum"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "function"
+ ]
+ },
+ "ReportConfigSorting": {
+ "description": "The order by expression to be used in the report.",
+ "properties": {
+ "direction": {
+ "description": "Direction of sort.",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ]
+ },
+ "name": {
+ "description": "The name of the column to sort.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ReportConfigGrouping": {
+ "description": "The group by expression to be used in the report.",
+ "properties": {
+ "type": {
+ "description": "Has type of the column to group.",
+ "$ref": "#/definitions/ReportConfigColumnType"
+ },
+ "name": {
+ "description": "The name of the column to group. This version supports subscription lowest possible grain.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "ReportConfigFilter": {
+ "description": "The filter expression to be used in the report.",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "or": {
+ "description": "The logical \"OR\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "dimension": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ },
+ "tag": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ }
+ }
+ },
+ "ReportConfigColumnType": {
+ "description": "The type of the column in the report.",
+ "type": "string",
+ "enum": [
+ "Tag",
+ "Dimension"
+ ],
+ "x-ms-enum": {
+ "name": "ReportConfigColumnType",
+ "modelAsString": true
+ }
+ },
+ "ReportConfigComparisonExpression": {
+ "description": "The comparison expression to be used in the report.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to use in comparison.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The operator to use for comparison.",
+ "type": "string",
+ "enum": [
+ "In",
+ "Contains"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ },
+ "DimensionsListResult": {
+ "description": "Result of listing dimensions. It contains a list of available dimensions.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of dimensions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ }
+ }
+ }
+ },
+ "Dimension": {
+ "type": "object",
+ "allOf": [{
+ "$ref": "#/definitions/Resource"
+ }],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DimensionProperties",
+ "title": "Dimension properties"
+ }
+ }
+ },
+ "DimensionProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "filterEnabled": {
+ "type": "boolean"
+ },
+ "groupingEnabled": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "total": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "category": {
+ "type": "string"
+ },
+ "usageStart": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "usageEnd": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "QueryResult": {
+ "description": "Result of query. It contains all columns listed under groupings and aggregation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of usage data.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Query"
+ }
+ }
+ }
+ },
+ "Query": {
+ "type": "object",
+ "allOf": [{
+ "$ref": "#/definitions/Resource"
+ }],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QueryProperties",
+ "title": "Query properties"
+ }
+ }
+ },
+ "QueryProperties": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "type": "string"
+ },
+ "columns": {
+ "description": "Array of columns",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryColumn"
+ }
+ },
+ "rows": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {}
+ }
+ }
+ }
+ },
+ "QueryColumn": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ }
+ },
+ "ConnectorDefinitionListResult": {
+ "description": "Result of listing connector definitions. It contains a list of available connector definitions in the scope provided.",
+ "properties": {
+ "value": {
+ "description": "The list of connector definitions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ConnectorDefinition"
+ }
+ }
+ }
+ },
+ "ConnectorDefinition": {
+ "type": "object",
+ "description": "The Connector model definition",
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Connector kind (eg aws)"
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Connector id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Connector name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Connector type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConnectorProperties",
+ "description": "Connector properties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ConnectorProperties": {
+ "type": "object",
+ "description": "The properties of a Connector",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Connector DisplayName"
+ },
+ "providerAccountId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Connector providerAccountId (determined from credentials)",
+ "readOnly": true
+ },
+ "credentialsKey": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Credentials authentication key (eg AWS ARN)"
+ },
+ "credentialsSecret": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "description": "Credentials secret (eg AWS ExternalId)"
+ },
+ "reportId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Identifying source report. (For AWS this is a CUR report name, defined with Daily and with Resources)"
+ },
+ "createdOn": {
+ "format": "date-time",
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Connector definition creation datetime",
+ "readOnly": true
+ },
+ "modifiedOn": {
+ "format": "date-time",
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Connector last modified datetime",
+ "readOnly": true
+ },
+ "status": {
+ "enum": [
+ "active",
+ "error",
+ "suspended"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectorStatus",
+ "modelAsString": true
+ },
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Connector status"
+ },
+ "defaultManagementGroupId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Default ManagementGroupId"
+ },
+ "subscriptionId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Billing SubscriptionId"
+ },
+ "billingModel": {
+ "enum": [
+ "trial",
+ "autoUpgrade",
+ "premium",
+ "expired"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectorBillingModel",
+ "modelAsString": true
+ },
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Connector billing model"
+ },
+ "daysTrialRemaining": {
+ "type": "integer",
+ "x-nullable": true,
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Number of days remaining of trial",
+ "readOnly": true
+ },
+ "collectionInfo": {
+ "$ref": "#/definitions/ConnectorCollectionInfo",
+ "description": "Collection information",
+ "x-nullable": true,
+ "readOnly": true
+ }
+ }
+ },
+ "ConnectorCollectionInfo": {
+ "type": "object",
+ "description": "Collection and ingestion information",
+ "properties": {
+ "lastChecked": {
+ "format": "date-time",
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Last time the data acquisition process initiated connecting to the external provider",
+ "readOnly": true
+ },
+ "sourceLastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Source timestamp of external data currently available in Azure (eg AWS last processed CUR file timestamp)",
+ "readOnly": true
+ },
+ "lastUpdated": {
+ "format": "date-time",
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Last time the external data was updated into Azure",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/ConnectorCollectionErrorInfo",
+ "description": "Error information of last collection"
+ }
+ }
+ },
+ "ConnectorCollectionErrorInfo": {
+ "type": "object",
+ "description": "Details of any error encountered on last collection attempt",
+ "properties": {
+ "errorMessage": {
+ "type": "string",
+ "description": "Detailed error message",
+ "readOnly": true
+ },
+ "errorInnerMessage": {
+ "type": "string",
+ "description": "External Provider error message",
+ "readOnly": true
+ },
+ "errorCode": {
+ "type": "string",
+ "description": "Short error code",
+ "readOnly": true
+ },
+ "errorStartTime": {
+ "format": "date-time",
+ "type": "string",
+ "description": "Time the error started occurring (Last time error occurred in lastChecked)",
+ "readOnly": true
+ }
+ }
+ },
+ "ExternalBillingAccountDefinitionListResult": {
+ "description": "Result of listing ExternalBillingAccount definitions. It contains a list of available ExternalBillingAccount definitions in the scope provided.",
+ "properties": {
+ "value": {
+ "description": "The list of ExternalBillingAccount definitions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ExternalBillingAccountDefinition"
+ }
+ }
+ }
+ },
+ "ExternalBillingAccountDefinition": {
+ "type": "object",
+ "description": "The ExternalBillingAccount model definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ExternalBillingAccount id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ExternalBillingAccount name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ExternalBillingAccount type"
+ },
+ "kind": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ExternalBillingAccount kind (eg aws)"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExternalBillingAccountProperties",
+ "description": "ExternalBillingAccount properties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ExternalBillingAccountProperties": {
+ "type": "object",
+ "description": "The properties of a ExternalBillingAccount",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "ExternalBillingAccount DisplayName",
+ "readOnly": true
+ },
+ "connectorId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Underlying ConnectorId",
+ "readOnly": true
+ }
+ }
+ },
+ "ExternalSubscriptionDefinitionListResult": {
+ "description": "Result of listing ExternalSubscription definitions. It contains a list of available ExternalSubscription definitions in the scope provided.",
+ "properties": {
+ "value": {
+ "description": "The list of ExternalSubscription definitions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ExternalSubscriptionDefinition"
+ }
+ }
+ }
+ },
+ "ExternalSubscriptionDefinition": {
+ "type": "object",
+ "description": "The ExternalSubscription model definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ExternalSubscription id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ExternalSubscription name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ExternalSubscription type"
+ },
+ "kind": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ExternalSubscription kind (eg aws)"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExternalSubscriptionProperties",
+ "description": "ExternalSubscription properties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ExternalSubscriptionProperties": {
+ "type": "object",
+ "description": "The properties of a ExternalSubscription",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "ExternalSubscription DisplayName",
+ "readOnly": true
+ },
+ "managementGroupId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Assigned ManagementGroupId",
+ "readOnly": true
+ },
+ "externalBillingAccountId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "Parent ExternalBillingAccountId",
+ "readOnly": true
+ }
+ }
+ },
+ "EntityListResult": {
+ "description": "Describes the result of the request to view entities.",
+ "properties": {
+ "value": {
+ "description": "The list of entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityInfo"
+ }
+ },
+ "count": {
+ "description": "Total count of records that match the filter",
+ "type": "integer",
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The URL to use for getting the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EntityInfo": {
+ "description": "The entity.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the entity. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, /providers/Microsoft.Management/managementGroups",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the entity. For example, 00000000-0000-0000-0000-000000000000",
+ "readOnly": true
+ },
+ "kind": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The kind of the resource",
+ "x-nullable": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "x-nullable": true,
+ "$ref": "#/definitions/EntityInfoProperties"
+ }
+ }
+ },
+ "EntityInfoProperties": {
+ "description": "The generic properties of an entity.",
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "The AAD Tenant ID associated with the entity. For example, 00000000-0000-0000-0000-000000000000",
+ "x-nullable": true
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The friendly name of the management group.",
+ "x-nullable": true
+ },
+ "parent": {
+ "title": "Parent",
+ "$ref": "#/definitions/EntityParentGroupInfo",
+ "x-nullable": true
+ },
+ "permissions": {
+ "title": "Permissions",
+ "x-nullable": true,
+ "$ref": "#/definitions/Permissions"
+ },
+ "inheritedPermissions": {
+ "title": "Inherited Permissions",
+ "x-nullable": true,
+ "$ref": "#/definitions/Permissions"
+ },
+ "numberOfDescendants": {
+ "title": "Number of Descendants",
+ "type": "integer",
+ "x-nullable": true
+ },
+ "numberOfChildren": {
+ "title": "Number of Children",
+ "description": "Number of children is the number of Groups and Subscriptions that are exactly one level underneath the current Group.",
+ "type": "integer",
+ "x-nullable": true
+ },
+ "numberOfChildGroups": {
+ "title": "Number of Child Groups",
+ "description": "Number of child groups is the number of Groups that are exactly one level underneath the current Group.",
+ "type": "integer",
+ "x-nullable": true
+ },
+ "parentDisplayNameChain": {
+ "type": "array",
+ "description": "The parent display name chain from the root group to the immediate parent",
+ "x-nullable": true,
+ "items": {
+ "type": "string"
+ }
+ },
+ "parentNameChain": {
+ "type": "array",
+ "description": "The parent name chain from the root group to the immediate parent",
+ "x-nullable": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "EntityParentGroupInfo": {
+ "description": "(Optional) The ID of the parent management group.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the parent management group. For example, /providers/Microsoft.Management/managementGroups/0000000-0000-0000-0000-000000000000"
+ }
+ }
+ },
+ "Permissions": {
+ "type": "string",
+ "enum": [
+ "noaccess",
+ "view",
+ "edit",
+ "delete"
+ ],
+ "description": "The users specific permissions to this item."
+ },
+ "OperationListResult": {
+ "description": "Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of cost management operations supported by the Microsoft.CostManagement resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "A Cost management REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.CostManagement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: Dimensions, Query.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "ShowbackRuleListResult": {
+ "description": "Result of listing showback rules. It contains a list of available rules in the scope provided.",
+ "properties": {
+ "value": {
+ "description": "The list of showback rules.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ShowbackRule"
+ }
+ }
+ }
+ },
+ "ShowbackRule": {
+ "type": "object",
+ "description": "The showback rule model definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Rule id"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Rule name"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Rule type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ShowbackRuleProperties",
+ "description": "Showback rule properties"
+ }
+ }
+ },
+ "ShowbackRuleProperties": {
+ "description": "The properties of a showback rule.",
+ "discriminator": "RuleType",
+ "properties": {
+ "description": {
+ "description": "Description of a showback rule.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The current status of the showback rule.",
+ "type": "string",
+ "enum": [
+ "NotActive",
+ "Active"
+ ],
+ "x-ms-enum": {
+ "name": "ShowbackRuleStatus",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "The current version of showback rule.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "scopes": {
+ "description": "List of authorized assigned scopes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Scope"
+ }
+ },
+ "creationTime": {
+ "format": "date-time",
+ "description": "The time when the showback rule was created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deprecationTime": {
+ "description": "The current time when showback rule was deprecate.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "modificationTime": {
+ "description": "The current status when showback rule was modified.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "allOf": [{
+ "$ref": "#/definitions/ShowbackRulesKind"
+ }]
+ },
+ "CustomPrice": {
+ "x-ms-discriminator-value": "CustomPrice",
+ "type": "object",
+ "description": "Represents Custom price showback rule model",
+ "allOf": [{
+ "$ref": "#/definitions/ShowbackRuleProperties"
+ }],
+ "properties": {
+ "details": {
+ "$ref": "#/definitions/CustomPriceProperties"
+ }
+ }
+ },
+ "CustomPriceProperties": {
+ "type": "object",
+ "title": "Custom price showback rule properties",
+ "properties": {
+ "pricesheet": {
+ "type": "string"
+ },
+ "benefits": {
+ "description": "Array of benefits.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "None", "All", "AHUB", "Reservations"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "markups": {
+ "description": "List of markups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Markup"
+ }
+ }
+ }
+ },
+ "CustomCharge": {
+ "x-ms-discriminator-value": "CustomCharge",
+ "type": "object",
+ "description": "Represents custom charge showback rule model",
+ "allOf": [{
+ "$ref": "#/definitions/ShowbackRuleProperties"
+ }],
+ "properties": {
+ "details": {
+ "$ref": "#/definitions/CustomChargeProperties"
+ }
+ }
+ },
+ "CustomChargeProperties": {
+ "type": "object",
+ "title": "Custom charge showback rule properties",
+ "properties": {
+ "recurring": {
+ "description": "Recurring of the charge.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "true",
+ "false"
+ ],
+ "x-ms-enum": {
+ "name": "CustomChargeRecurring",
+ "modelAsString": true
+ }
+ },
+ "chargeType": {
+ "type": "string"
+ },
+ "ChargeValue": {
+ "type": "string"
+ },
+ "EffectiveMonth": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "EndMonth": {
+ "format": "date-time",
+ "type": "string"
+ }
+ }
+ },
+ "CostAllocation": {
+ "x-ms-discriminator-value": "CostAllocation",
+ "type": "object",
+ "description": "Represents cost allocation showback rule model",
+ "allOf": [{
+ "$ref": "#/definitions/ShowbackRuleProperties"
+ }],
+ "properties": {
+ "details": {
+ "$ref": "#/definitions/CostAllocationProperties"
+ }
+ }
+ },
+ "CostAllocationProperties": {
+ "type": "object",
+ "title": "Cost allocation showback rule properties",
+ "properties": {}
+ },
+ "ShowbackRulesKind": {
+ "type": "object",
+ "description": "Describes Showback rule with rule type",
+ "properties": {
+ "RuleType": {
+ "type": "string",
+ "description": "The rule type of the showback rule solution",
+ "enum": ["CustomPrice", "CustomChange", "CostAllocation"],
+ "x-ms-enum": {
+ "name": "ShowbackRulesKind",
+ "modelAsString": true,
+ "values": [{
+ "value": "CustomPrice"
+ },
+ {
+ "value": "CustomCharge"
+ },
+ {
+ "value": "CostAllocation"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "Scope": {
+ "type": "object",
+ "description": "The Scope model definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Scope id"
+ },
+ "name": {
+ "type": "string",
+ "description": "Scope name"
+ },
+ "type": {
+ "type": "string",
+ "description": "Scope type"
+ },
+ "childScope": {
+ "$ref": "#/definitions/Scope"
+ }
+ }
+ },
+ "Markup": {
+ "type": "object",
+ "description": "The Markup model definition",
+ "properties": {
+ "percentage": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2019-03-01-preview"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "billingAccountIdParameter": {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "BillingAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "description": "ManagementGroup ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "departmentIdParameter": {
+ "name": "departmentId",
+ "in": "path",
+ "description": "Department ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "enrollmentAccountIdParameter": {
+ "name": "enrollmentAccountId",
+ "in": "path",
+ "description": "Enrollment Account ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Azure Resource Group Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "connectorNameParameter": {
+ "name": "connectorName",
+ "in": "path",
+ "description": "Connector Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "externalBillingAccountNameParameter": {
+ "name": "externalBillingAccountName",
+ "in": "path",
+ "description": "External Billing Account Name. (eg 'aws-{PayerAccountId}')",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "externalSubscriptionNameParameter": {
+ "name": "externalSubscriptionName",
+ "in": "path",
+ "description": "External Subscription Name. (eg 'aws-{UsageAccountId}')",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "EntityViewParameter": {
+ "name": "$view",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "FullHierarchy",
+ "GroupsOnly",
+ "SubscriptionsOnly",
+ "ExternalSubscriptionsOnly",
+ "Audit"
+ ],
+ "x-ms-parameter-location": "method",
+ "description": "The view parameter allows clients to filter the type of data that is returned by the getEntities call."
+ },
+ "ruleNameParameter": {
+ "name": "ruleName",
+ "in": "path",
+ "description": "Showback rule name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountDimensionsList.json
new file mode 100644
index 000000000000..2148d6fc447b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountDimensionsList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.consumption/dimensions_ResourceGroup_2018-12-01_2018-12-31",
+ "name": "dimensions_ResourceGroup_2018-12-01_2018-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 3,
+ "category": "SubscriptionGuid",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Subscription Guid",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.consumption/dimensions_ResourceType_2018-12-01_2018-12-31",
+ "name": "dimensions_ResourceType_2018-12-01_2018-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "Account Name",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..261219b6d68d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.consumption/dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.consumption/dimensions_ResourceType_2018-12-31_2018-12-31_5",
+ "name": "dimensions_ResourceType_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..02adf3719dc8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.consumption/dimensions_ResourceId_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceId_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/ccmapi/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.Consumption/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-03-01-preview&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountForecast.json
new file mode 100644
index 000000000000..0d2b125d34e1
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountForecast.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "70664866",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-08-01T00:00:00.000Z",
+ "to": "2018-10-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "SubscriptionName",
+ "operator": "In",
+ "values": [
+ "Azure Dev",
+ "Azure Prod",
+ "Azure PPE"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "DepartmentName",
+ "operator": "In",
+ "values": [
+ "Azure Dept"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Forecast/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Forecast",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Forecast?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ 20180831,
+ "Actual",
+ "USD"
+ ],
+ [
+ 20.41979233490323,
+ 20180930,
+ "Actual",
+ "USD"
+ ],
+ [
+ 21.322216562625452,
+ 20181031,
+ "Actual",
+ "USD"
+ ],
+ [
+ 22.545363672276532,
+ 20180831,
+ "Actual",
+ "USD"
+ ],
+ [
+ 23.41979675590323,
+ 20180930,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 24.359416562626652,
+ 20181031,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountQuery.json
new file mode 100644
index 000000000000..8c6186516458
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountQuery.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "70664866",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-08-01T00:00:00.000Z",
+ "to": "2018-10-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "SubscriptionName",
+ "operator": "In",
+ "values": [
+ "Azure Dev",
+ "Azure Prod",
+ "Azure PPE"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "DepartmentName",
+ "operator": "In",
+ "values": [
+ "Azure Dept"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ 20180831,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ 20180930,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ 20181031,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..df58f39472b5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/BillingAccountQueryGrouping.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "70664866",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-10-01T00:00:00.000Z",
+ "to": "2018-10-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "SubscriptionName",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "Trial Subscription",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "DEV Subscription",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "Cost Management Subscrioption",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorDelete.json
new file mode 100644
index 000000000000..6000c2609293
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorDelete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "connectorName": "12345678-9012-3456-7890-111111111111"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
+
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGet.json
new file mode 100644
index 000000000000..8805252a8b85
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "connectorName": "12345678-9012-3456-7890-111111111111"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "aws",
+ "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111",
+ "name": "12345678-9012-3456-7890-111111111111",
+ "type": "Microsoft.CostManagement/cloudConnectors",
+ "properties": {
+ "displayName": "AWS-Consolidated-1",
+ "providerAccountId": "123456789012",
+ "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole",
+ "reportId": "HourlyWithResources",
+ "createdOn": "2018-05-15T13:25:48Z",
+ "modifiedOn": "2018-05-23T09:21:11Z",
+ "status": "active",
+ "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ",
+ "subscriptionId": "22222222-3333-4444-1111-777777777777",
+ "billingModel": "autoUpgrade",
+ "daysTrialRemaining": 62
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGetExpand.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGetExpand.json
new file mode 100644
index 000000000000..9910c33da554
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorGetExpand.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "connectorName": "12345678-9012-3456-7890-111111111111",
+ "$expand": "collectionInfo"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "aws",
+ "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111",
+ "name": "12345678-9012-3456-7890-111111111111",
+ "type": "Microsoft.CostManagement/cloudConnectors",
+ "properties": {
+ "displayName": "AWS-Consolidated-1",
+ "providerAccountId": "123456789012",
+ "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole",
+ "reportId": "HourlyWithResources",
+ "createdOn": "2018-05-15T13:25:48Z",
+ "modifiedOn": "2018-05-23T09:21:11Z",
+ "status": "active",
+ "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ",
+ "subscriptionId": "22222222-3333-4444-1111-777777777777",
+ "billingModel": "autoUpgrade",
+ "daysTrialRemaining": 62,
+ "collectionInfo": {
+ "lastChecked": "2018-06-15T03:21:08Z",
+ "sourceLastUpdated": "2018-06-12T16:41:28Z",
+ "lastUpdated": "2018-06-12T17:25:28Z",
+ "error": {
+ "errorCode": "FailedToAssumeRole",
+ "errorMessage": "Failed to assume role",
+ "errorInnerMessage": "Insufficient access to assume role arn:aws:iam::123456789012:role/AzureCostManagementRole",
+ "errorStartTime": "2018-06-12T21:41:03Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorList.json
new file mode 100644
index 000000000000..fc078b4226fb
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "aws",
+ "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111",
+ "name": "12345678-9012-3456-7890-111111111111",
+ "type": "Microsoft.CostManagement/cloudConnectors",
+ "properties": {
+ "displayName": "AWS-Consolidated-1",
+ "providerAccountId": "123456789012",
+ "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole",
+ "reportId": "HourlyWithResources",
+ "createdOn": "2018-05-15T13:25:48Z",
+ "modifiedOn": "2018-05-23T09:21:11Z",
+ "status": "active",
+ "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ",
+ "subscriptionId": "22222222-3333-4444-1111-777777777777",
+ "billingModel": "autoUpgrade",
+ "daysTrialRemaining": 62
+ }
+ },
+ {
+ "kind": "aws",
+ "id": "/providers/Microsoft.CostManagement/cloudConnectors/11111111-2222-3333-4444-555555555555",
+ "name": "11111111-2222-3333-4444-555555555555",
+ "type": "Microsoft.CostManagement/cloudConnectors",
+ "properties": {
+ "displayName": "AWS-Consolidated-2",
+ "providerAccountId": "100000000007",
+ "credentialsKey": "arn:aws:iam::100000000007:role/AzureCostManagementRole",
+ "reportId": "CURHourlyWithResources",
+ "createdOn": "2018-06-16T11:23:44Z",
+ "modifiedOn": "2018-06-21T17:33:28Z",
+ "status": "suspended",
+ "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ",
+ "subscriptionId": "22222222-3333-4444-1111-777777777777",
+ "billingModel": "premium"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPatch.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPatch.json
new file mode 100644
index 000000000000..7b1194753c45
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPatch.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "connectorName": "12345678-9012-3456-7890-111111111111",
+ "connector": {
+ "properties": {
+ "displayName": "AWS-Consolidated-3"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "aws",
+ "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111",
+ "name": "12345678-9012-3456-7890-111111111111",
+ "type": "Microsoft.CostManagement/cloudConnectors",
+ "properties": {
+ "displayName": "AWS-Consolidated-3",
+ "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole",
+ "reportId": "HourlyWithResources",
+ "createdOn": "2018-05-15T13:25:48Z",
+ "modifiedOn": "2018-05-23T09:21:11Z",
+ "status": "active",
+ "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ",
+ "subscriptionId": "22222222-3333-4444-1111-777777777777",
+ "billingModel": "autoUpgrade",
+ "daysTrialRemaining": 62
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPut.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPut.json
new file mode 100644
index 000000000000..29c4fd1a13a9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/CloudConnectorPut.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "connectorName": "12345678-9012-3456-7890-111111111111",
+ "connector": {
+ "properties": {
+ "displayName": "AWS-Consolidated-1",
+ "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole",
+ "credentialsSecret": "external-id",
+ "reportId": "HourlyWithResources",
+ "status": "active"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "aws",
+ "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111",
+ "name": "12345678-9012-3456-7890-111111111111",
+ "type": "Microsoft.CostManagement/cloudConnectors",
+ "properties": {
+ "displayName": "AWS-Consolidated-1",
+ "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole",
+ "reportId": "HourlyWithResources",
+ "createdOn": "2018-05-15T13:25:48Z",
+ "modifiedOn": "2018-05-23T09:21:11Z",
+ "status": "active",
+ "subscriptionId": "22222222-3333-4444-1111-777777777777",
+ "billingModel": "autoUpgrade",
+ "daysTrialRemaining": 62
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "kind": "aws",
+ "id": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111",
+ "name": "12345678-9012-3456-7890-111111111111",
+ "type": "Microsoft.CostManagement/cloudConnectors",
+ "properties": {
+ "displayName": "AWS-Consolidated-1",
+ "credentialsKey": "arn:aws:iam::123456789012:role/AzureCostManagementRole",
+ "reportId": "HourlyWithResources",
+ "createdOn": "2018-05-15T13:25:48Z",
+ "modifiedOn": "2018-05-23T09:21:11Z",
+ "status": "active",
+ "defaultManagementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ",
+ "subscriptionId": "22222222-3333-4444-1111-777777777777",
+ "billingModel": "autoUpgrade",
+ "daysTrialRemaining": 62
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentDimensionsList.json
new file mode 100644
index 000000000000..89b95546d1fc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "departmentId": "123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.consumption/dimensions_ResourceGroup_2018-12-01_2018-12-31",
+ "name": "dimensions_ResourceGroup_2018-12-01_2018-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.consumption/dimensions_ResourceType_2018-12-01_2018-12-31",
+ "name": "dimensions_ResourceType_2018-12-01_2018-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..c34403dc70b6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.consumption/dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.consumption/dimensions_ResourceType_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceType_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentDimensionsListWithFilter.json
new file mode 100644
index 000000000000..cae08c00c4b6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.consumption/dimensions_ResourceId_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceId_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/Microsoft.Consumption/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-03-01-preview&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentForecast.json
new file mode 100644
index 000000000000..17f3f91e8830
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentForecast.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-10-01T00:00:00.000Z",
+ "to": "2018-12-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "SubscriptionName",
+ "operator": "In",
+ "values": [
+ "Azure Dev Subscription",
+ "Azure Prod Subscription",
+ "Azure PPE Subscription"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "AccountName",
+ "operator": "In",
+ "values": [
+ "Azure Account"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Forecast/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Forecast",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Forecast?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ 20181026,
+ "Actual",
+ "USD"
+ ],
+ [
+ 20.41179241293923,
+ 20181027,
+ "Actual",
+ "USD"
+ ],
+ [
+ 21.359416562625452,
+ 20181028,
+ "Actual",
+ "USD"
+ ],
+ [
+ 22.545363672276512,
+ 20181029,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 23.41979241290323,
+ 20181030,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 24.359416562625452,
+ 20181031,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentQuery.json
new file mode 100644
index 000000000000..7c05492c89b8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentQuery.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-10-01T00:00:00.000Z",
+ "to": "2018-12-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "SubscriptionName",
+ "operator": "In",
+ "values": [
+ "Azure Dev Subscription",
+ "Azure Prod Subscription",
+ "Azure PPE Subscription"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "AccountName",
+ "operator": "In",
+ "values": [
+ "Azure Account"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ 20181031,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ 20181031,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ 20181031,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentQueryGrouping.json
new file mode 100644
index 000000000000..78c9377d4d5e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/DepartmentQueryGrouping.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-08-01T00:00:00.000Z",
+ "to": "2018-10-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "AccountName"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "AccountName",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "Azure Dev Account",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "Azure PPE Account",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "Azure Prod Account",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountDimensionsList.json
new file mode 100644
index 000000000000..1689becf8479
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.consumption/dimensions_ResourceGroup_2018-12-01_2018-12-31",
+ "name": "dimensions_ResourceGroup_2018-12-01_2018-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.consumption/dimensions_ResourceType_2018-12-01_2018-12-31",
+ "name": "dimensions_ResourceType_2018-12-01_2018-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..c6765a2fe044
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.consumption/dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.consumption/dimensions_ResourceType_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceType_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..3114a3bc5633
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.consumption/dimensions_ResourceId_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceId_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.Consumption/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-03-01-preview&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountForecast.json
new file mode 100644
index 000000000000..fa4247f3a054
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountForecast.json
@@ -0,0 +1,116 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-08-01T00:00:00.000Z",
+ "to": "2018-10-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "or":[
+ {
+ "dimension": {
+ "name": "SubscriptionName",
+ "operator": "In",
+ "values": [
+ "Azure Dev Subscription",
+ "Azure Prod Subscription",
+ "Azure PPE Subscription"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Forecast/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Forecast",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Forecast?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 168.545323467227622,
+ 20180826,
+ "Actual",
+ "USD"
+ ],
+ [
+ 169.41979241290344,
+ 20180927,
+ "Actual",
+ "USD"
+ ],
+ [
+ 170.359416562338452,
+ 20181028,
+ "Actual",
+ "USD"
+ ],
+ [
+ 172.545363234276512,
+ 20180829,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ 20180930,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 174.359416562625452,
+ 20181031,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountQuery.json
new file mode 100644
index 000000000000..8b737fabd400
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountQuery.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-08-01T00:00:00.000Z",
+ "to": "2018-10-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "or":[
+ {
+ "dimension": {
+ "name": "SubscriptionName",
+ "operator": "In",
+ "values": [
+ "Azure Dev Subscription",
+ "Azure Prod Subscription",
+ "Azure PPE Subscription"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ 20180831,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ 20180930,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ 20181031,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountQueryGrouping.json
new file mode 100644
index 000000000000..65e6d86f817b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/EnrollmentAccountQueryGrouping.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-08-01T00:00:00.000Z",
+ "to": "2018-10-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "sorting": [
+ {
+ "name": "UsageDate"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "SubscriptionName",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "Azure Dev Subscription",
+ 20180831,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "Azure PPE Subscription",
+ 20180930,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "Azure Prod Subscription",
+ 20181031,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountExternalSubscriptionList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountExternalSubscriptionList.json
new file mode 100644
index 000000000000..c937d61bed93
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountExternalSubscriptionList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "externalBillingAccountName": "aws-123456789012"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.CostManagement/externalSubscriptions/aws-654321654321",
+ "name": "aws-654321654321",
+ "type": "Microsoft.CostManagement/externalSubscriptions",
+ "kind": "aws",
+ "properties": {
+ "displayName": "MyUsageAccount1",
+ "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012",
+ "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGet.json
new file mode 100644
index 000000000000..bcd1c2b75eac
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "externalBillingAccountName": "aws-123456789012"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012",
+ "name": "aws-123456789012",
+ "type": "Microsoft.CostManagement/externalBillingAccounts",
+ "kind": "aws",
+ "properties": {
+ "displayName": "Contoso Consolidated",
+ "connectorId": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111"
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountList.json
new file mode 100644
index 000000000000..f9570937df4b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalBillingAccountList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012",
+ "name": "aws-123456789012",
+ "type": "Microsoft.CostManagement/externalBillingAccounts",
+ "kind": "aws",
+ "properties": {
+ "displayName": "Contoso Consolidated",
+ "connectorId": "/providers/Microsoft.CostManagement/cloudConnectors/12345678-9012-3456-7890-111111111111"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-112233445566",
+ "name": "aws-112233445566",
+ "type": "Microsoft.CostManagement/externalBillingAccounts",
+ "kind": "aws",
+ "properties": {
+ "displayName": "Contoso Consolidated2",
+ "connectorId": "/providers/Microsoft.CostManagement/cloudConnectors/11111111-2222-3333-4444-555555555555"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGet.json
new file mode 100644
index 000000000000..04ce17b57bd5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "externalSubscriptionName": "aws-654321654321"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/externalSubscriptions/aws-654321654321",
+ "name": "aws-654321654321",
+ "type": "Microsoft.CostManagement/externalSubscriptions",
+ "kind": "aws",
+ "properties": {
+ "displayName": "MyUsageAccount1",
+ "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012",
+ "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ"
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionList.json
new file mode 100644
index 000000000000..885cedfc4bf8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ExternalSubscriptionList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.CostManagement/externalSubscriptions/aws-654321654321",
+ "name": "aws-654321654321",
+ "type": "Microsoft.CostManagement/externalSubscriptions",
+ "kind": "aws",
+ "properties": {
+ "displayName": "MyUsageAccount1",
+ "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012",
+ "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.CostManagement/externalSubscriptions/aws-110011001100",
+ "name": "aws-110011001100",
+ "type": "Microsoft.CostManagement/externalSubscriptions",
+ "kind": "aws",
+ "properties": {
+ "displayName": "MyUsageAccount2",
+ "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-112233445566",
+ "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupDimensionsList.json
new file mode 100644
index 000000000000..3cd7bdbe6ab5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupDimensionsList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "managementGroupId": "MyMgId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.consumption/dimensions_ResourceGroup_2018-12-01_2018-12-31",
+ "name": "dimensions_ResourceGroup_2018-12-01_2018-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.consumption/dimensions_ResourceType_2018-12-01_2018-12-31",
+ "name": "dimensions_ResourceType_2018-12-01_2018-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..7b9960077fde
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupDimensionsListExpandAndTop.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.consumption/dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.consumption/dimensions_ResourceType_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceType_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupDimensionsListWithFilter.json
new file mode 100644
index 000000000000..83a8ac2f5e94
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupDimensionsListWithFilter.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.consumption/dimensions_ResourceId_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceId_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.Consumption/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2018-12-31-preview&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionList.json
new file mode 100644
index 000000000000..7460c8c280b3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "managementGroupId": "XYZ"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.CostManagement/externalSubscription/aws-654321654321",
+ "name": "aws-654321654321",
+ "type": "Microsoft.CostManagement/externalSubscription",
+ "properties": {
+ "displayName": "MyUsageAccount1",
+ "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-123456789012",
+ "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.CostManagement/externalSubscription/aws-110011001100",
+ "name": "aws-110011001100",
+ "type": "Microsoft.CostManagement/externalSubscription",
+ "properties": {
+ "displayName": "MyUsageAccount2",
+ "externalBillingAccountId": "/providers/Microsoft.CostManagement/externalBillingAccounts/aws-112233445566",
+ "managementGroupId" : "/providers/Microsoft.Management/managementGroups/XYZ"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionPut.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionPut.json
new file mode 100644
index 000000000000..3c1613933177
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupExternalSubscriptionPut.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "managementGroupId": "XYZ",
+ "externalSubscriptionName": "aws-654321654321"
+ },
+ "responses": {
+ "204": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupForecast.json
new file mode 100644
index 000000000000..4cd999c72afe
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupForecast.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "managementGroupId": "MyMgId",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-11-01T00:00:00.000Z",
+ "to": "2019-01-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "or":[
+ {
+ "dimension": {
+ "name": "SubscriptionName",
+ "operator": "In",
+ "values": [
+ "Azure Dev",
+ "Azure Prod",
+ "Azure PPE"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Forecast/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Forecast",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Forecast?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.045363672276512,
+ 20190126,
+ "Actual",
+ "USD"
+ ],
+ [
+ 19.41979241290323,
+ 20190127,
+ "Actual",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ 20190128,
+ "Actual",
+ "USD"
+ ],
+ [
+ 19.045363672276512,
+ 20190129,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 19.41979241290323,
+ 20190130,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ 20190131,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupGetEntities.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupGetEntities.json
new file mode 100644
index 000000000000..833ff97e59f2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupGetEntities.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "managementGroupId": "XYZ"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Management/managementGroups/XYZ",
+ "type": "/providers/Microsoft.Management/managementGroups",
+ "name": "XYZ",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "XYZ Department",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/Engineering"
+ },
+ "permissions": "noaccess",
+ "inheritedPermissions": "view",
+ "numberOfDescendants": 0,
+ "numberOfChildren": 0,
+ "numberOfChildGroups": 0,
+ "parentDisplayNameChain": [
+ "20000000-0000-0000-0000-000000000000",
+ "Engineering"
+ ],
+ "parentNameChain": [
+ "20000000-0000-0000-0000-000000000000",
+ "Engineering"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/88888888-3333-6666-1111-444444444444",
+ "type": "/subscriptions",
+ "name": "88888888-3333-6666-1111-444444444444",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "XYZ Subscription",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/XYZ"
+ },
+ "permissions": "noaccess",
+ "inheritedPermissions": "view",
+ "numberOfDescendants": 0,
+ "numberOfChildren": 0,
+ "numberOfChildGroups": 0,
+ "parentDisplayNameChain": [
+ "20000000-0000-0000-0000-000000000000",
+ "Engineering",
+ "XYZ Department"
+ ],
+ "parentNameChain": [
+ "20000000-0000-0000-0000-000000000000",
+ "Engineering",
+ "XYZ"
+ ]
+ }
+ },
+ {
+ "id": "/providers/Microsoft.CostManagement/externalSubscriptions/aws-654321654321",
+ "type": "Microsoft.CostManagement/externalSubscriptions",
+ "name": "aws-654321654321",
+ "kind": "aws",
+ "properties": {
+ "tenantId": "20000000-0000-0000-0000-000000000000",
+ "displayName": "XYZ UsageAccount",
+ "parent": {
+ "id": "/providers/Microsoft.Management/managementGroups/XYZ"
+ },
+ "permissions": "noaccess",
+ "inheritedPermissions": "view",
+ "numberOfDescendants": 0,
+ "numberOfChildren": 0,
+ "numberOfChildGroups": 0,
+ "parentDisplayNameChain": [
+ "20000000-0000-0000-0000-000000000000",
+ "Engineering",
+ "XYZ Department"
+ ],
+ "parentNameChain": [
+ "20000000-0000-0000-0000-000000000000",
+ "Engineering",
+ "XYZ"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupQuery.json
new file mode 100644
index 000000000000..426805646f4f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupQuery.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "managementGroupId": "MyMgId",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-11-01T00:00:00.000Z",
+ "to": "2019-01-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "or":[
+ {
+ "dimension": {
+ "name": "SubscriptionName",
+ "operator": "In",
+ "values": [
+ "Azure Dev",
+ "Azure Prod",
+ "Azure PPE"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ 20181131,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ 20181231,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ 20190131,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupQueryGrouping.json
new file mode 100644
index 000000000000..f8b13c585079
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ManagementGroupQueryGrouping.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "managementGroupId": "MyMgId",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-08-01T00:00:00.000Z",
+ "to": "2018-10-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-03-01-preview&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "SubscriptionName",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "Trial Subscription",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "DEV Subscription",
+ "USD"
+ ],
+ [
+ 20.35941656262545,
+ "Cost Management Subscrioption",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ResourceGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ResourceGroupDimensionsList.json
new file mode 100644
index 000000000000..34aee5fa0cf0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ResourceGroupDimensionsList.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "system.orlando",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.consumption/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.storage/storageaccounts"
+ ],
+ "total": 1,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.consumption/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/authprod",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/systemevents",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/armadminprod",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/publicsystemportal"
+ ],
+ "total": 27,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ResourceGroupForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ResourceGroupForecast.json
new file mode 100644
index 000000000000..b214a77885fd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ResourceGroupForecast.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Forecast/9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "type": "microsoft.costmanagement/Forecast",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.10333307059661,
+ 20180417,
+ "Actual",
+ "USD"
+ ],
+ [
+ 20.10333307059661,
+ 20180418,
+ "Actual",
+ "USD"
+ ],
+ [
+ 21.10333307059661,
+ 20180419,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 22.10333307059661,
+ 20180420,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ResourceGroupQuery.json
new file mode 100644
index 000000000000..14eaef3e8f4f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ResourceGroupQuery.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ 20180417,
+ "USD"
+ ],
+ [
+ 20.10333307059661,
+ 20180418,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRule.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRule.json
new file mode 100644
index 000000000000..02b717cdb0d2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRule.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "ruleId": "testRule"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/showback/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/showback",
+ "eTag": null,
+ "properties": {
+ "id": "testRule",
+ "description": "This is a testRule",
+ "status": "NotActive",
+ "version": 1,
+ "deprecationTime": "0001-01-01T00:00:00",
+ "creationTime": "2019-01-16T09:18:20.8665509Z",
+ "modificationTime": "0001-01-01T00:00:00",
+ "modificationUserName": null,
+ "ruleType": "CustomPrice",
+ "assignedScopes": null,
+ "details": {
+ "pricesheet": "Pay-As-You-Go (0003P)",
+ "AHUBenefits": true,
+ "markup": null
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulePut.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulePut.json
new file mode 100644
index 000000000000..7036686e7631
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulePut.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100",
+ "ruleId": "testRule",
+ "showbackRule": {
+ "properties": {
+ "name": "demo",
+ "description": "Welcome to Showback demo",
+ "status": "Active",
+ "ruleType": "CustomPrice",
+ "assignedScopes": [{
+ "entityType": "Enrollment",
+ "entityId": "292105a9-680d-48cf-bdad-1d023104d69f",
+ "childScope": null
+ }],
+ "details": {
+ "pricesheet": "Pay-As-You-Go (0003P)",
+ "AHUBenefits": true,
+ "markup": [{
+ "percentage": 1.1,
+ "filters": []
+ }]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/71824150/providers/Microsoft.CostManagement/showback/demo",
+ "name": "demo",
+ "type": "Microsoft.CostManagement/showback",
+ "eTag": null,
+ "properties": {
+ "version": 999,
+ "deprecationTime": "0001-01-01T00:00:00",
+ "creationTime": "2019-01-16T09:18:20.8665509Z",
+ "modificationTime": "0001-01-01T00:00:00",
+ "modificationUserName": null,
+ "id": "demo",
+ "description": "Welcome to Showback demo",
+ "status": "NotActive",
+ "ruleType": "CustomPrice",
+ "details": {
+ "pricesheet": "Pay-As-You-Go (0003P)",
+ "AHUBenefits": true,
+ "markup": [{
+ "percentage": 1.1,
+ "filters": []
+ }]
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulesList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulesList.json
new file mode 100644
index 000000000000..ac55768c6d7b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/ShowbackRulesList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "billingAccountId": "100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/showback/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/showback",
+ "eTag": null,
+ "properties": {
+ "id": "testRule",
+ "description": "This is a testRule",
+ "status": "NotActive",
+ "version": 1,
+ "deprecationTime": "0001-01-01T00:00:00",
+ "creationTime": "2019-01-16T09:18:20.8665509Z",
+ "modificationTime": "0001-01-01T00:00:00",
+ "modificationUserName": null,
+ "ruleType": "CustomPrice",
+ "assignedScopes": null,
+ "details": {
+ "pricesheet": "Pay-As-You-Go (0003P)",
+ "AHUBenefits": true,
+ "markup": null
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/SubscriptionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/SubscriptionDimensionsList.json
new file mode 100644
index 000000000000..ef1d011d3a1c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/SubscriptionDimensionsList.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$top": 5,
+ "$expand": "properties/data"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceGroup_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "dcrg",
+ "rg",
+ "offlinegalleryrg",
+ "system.orlando.adminkeyvault",
+ "system.orlando.keyvault"
+ ],
+ "total": 68,
+ "category": "ResourceGroup",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/dimensions_ResourceType_2018-12-01_2018-12-31_5",
+ "name": "dimensions_ResourceType_2018-12-01_2018-12-31_5",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.storage/storageaccounts",
+ "microsoft.web.admin/role",
+ "microsoft.sql/servers",
+ "microsoft.compute/virtualmachines"
+ ],
+ "total": 4,
+ "category": "ResourceType",
+ "usageStart": "2018-12-01T00:00:00-07:00",
+ "usageEnd": "2018-12-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/SubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/SubscriptionForecast.json
new file mode 100644
index 000000000000..f12e2175568d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/SubscriptionForecast.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-10-01T00:00:00.000Z",
+ "to": "2018-12-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Forecast/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Forecast",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 214.68795741935486,
+ 20181222,
+ "Actual",
+ "USD"
+ ],
+ [
+ 215.68795741935486,
+ 20181223,
+ "Actual",
+ "USD"
+ ],
+ [
+ 216.68795741935486,
+ 20181224,
+ "Actual",
+ "USD"
+ ],
+ [
+ 217.68795741935486,
+ 20181225,
+ "Actual",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ 20181226,
+ "Actual",
+ "USD"
+ ],
+ [
+ 219.143849143581657052,
+ 20181227,
+ "Actual",
+ "USD"
+ ],
+ [
+ 220.143849143588766052,
+ 20181228,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 221.143433143588766052,
+ 20181229,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 222.143433555588766052,
+ 20181230,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 223.143433555588743252,
+ 20181231,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/SubscriptionQuery.json
new file mode 100644
index 000000000000..5bfac70c4632
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2019-03-01-preview/examples/SubscriptionQuery.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-10-01T00:00:00.000Z",
+ "to": "2018-12-31T00:00:00.000Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "Dev",
+ "PPE",
+ "Prod"
+ ]
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ 20181017,
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ 20181018,
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ 20181019,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
new file mode 100644
index 000000000000..33b430e3bce9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
@@ -0,0 +1,1414 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "CostManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/{scope}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ListBySubscription",
+ "description": "Lists the dimensions by the defined scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionDimensionsList": {
+ "$ref": "./examples/SubscriptionDimensionsList.json"
+ },
+ "ResourceGroupDimensionsList": {
+ "$ref": "./examples/ResourceGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsList": {
+ "$ref": "./examples/ManagementGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsListExpandAndTop": {
+ "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json"
+ },
+ "ManagementGroupDimensionsListWithFilter": {
+ "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json"
+ },
+ "DepartmentDimensionsList": {
+ "$ref": "./examples/DepartmentDimensionsList.json"
+ },
+ "DepartmentDimensionsListExpandAndTop": {
+ "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json"
+ },
+ "DepartmentDimensionsListWithFilter": {
+ "$ref": "./examples/DepartmentDimensionsListWithFilter.json"
+ },
+ "EnrollmentAccountDimensionsList": {
+ "$ref": "./examples/EnrollmentAccountDimensionsList.json"
+ },
+ "EnrollmentAccountDimensionsListExpandAndTop": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json"
+ },
+ "EnrollmentAccountDimensionsListWithFilter": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList": {
+ "$ref": "./examples/BillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop": {
+ "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter": {
+ "$ref": "./examples/BillingAccountDimensionsListWithFilter.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeDimensionParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageByScope",
+ "description": "Query the usage data for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionQuery": {
+ "$ref": "./examples/SubscriptionQuery.json"
+ },
+ "ResourceGroupQuery": {
+ "$ref": "./examples/ResourceGroupQuery.json"
+ },
+ "BillingAccountQuery": {
+ "$ref": "./examples/BillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping": {
+ "$ref": "./examples/BillingAccountQueryGrouping.json"
+ },
+ "EnrollmentAccountQuery": {
+ "$ref": "./examples/EnrollmentAccountQuery.json"
+ },
+ "EnrollmentAccountQueryGrouping": {
+ "$ref": "./examples/EnrollmentAccountQueryGrouping.json"
+ },
+ "DepartmentQuery": {
+ "$ref": "./examples/DepartmentQuery.json"
+ },
+ "DepartmentQueryGrouping": {
+ "$ref": "./examples/DepartmentQueryGrouping.json"
+ },
+ "ManagementGroupQuery": {
+ "$ref": "./examples/ManagementGroupQuery.json"
+ },
+ "ManagementGroupQueryGrouping": {
+ "$ref": "./examples/ManagementGroupQueryGrouping.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Query Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_List",
+ "description": "Lists all exports at the given scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExportList": {
+ "$ref": "./examples/ExportList.json"
+ },
+ "ResourceGroupExportList": {
+ "$ref": "./examples/ExportList.json"
+ },
+ "BillingAccountExportList": {
+ "$ref": "./examples/ExportListByBillingAccount.json"
+ },
+ "DepartmentExportList": {
+ "$ref": "./examples/ExportListByDepartment.json"
+ },
+ "EnrollmentAccountExportList": {
+ "$ref": "./examples/ExportListByEnrollmentAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Get",
+ "description": "Gets the export for the defined scope by export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExport": {
+ "$ref": "./examples/Export.json"
+ },
+ "BillingAccountExport": {
+ "$ref": "./examples/ExportByBillingAccount.json"
+ },
+ "DepartmentExport": {
+ "$ref": "./examples/ExportByDepartment.json"
+ },
+ "EnrollmentAccountExport": {
+ "$ref": "./examples/ExportByEnrollmentAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_CreateOrUpdate",
+ "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. 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/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdate.json"
+ },
+ "ResourceGroupCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdate.json"
+ },
+ "BillingAccountCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
+ },
+ "DepartmentCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
+ },
+ "EnrollmentAccountCreateOrUpdateExport": {
+ "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Export"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Export operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Delete",
+ "description": "The operation to delete a export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionDeleteExport": {
+ "$ref": "./examples/ExportDelete.json"
+ },
+ "ResourceGroupDeleteExport": {
+ "$ref": "./examples/ExportDelete.json"
+ },
+ "BillingAccountDeleteExport": {
+ "$ref": "./examples/ExportDeleteByBillingAccount.json"
+ },
+ "EnrollmentAccountDeleteExport": {
+ "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
+ },
+ "DepartmentDeleteExport": {
+ "$ref": "./examples/ExportDeleteByDepartment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": {
+ "post": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Execute",
+ "description": "The operation to execute a export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExecuteExport": {
+ "$ref": "./examples/ExportExecution.json"
+ },
+ "ResourceGroupExecuteExport": {
+ "$ref": "./examples/ExportExecution.json"
+ },
+ "BillingAccountExecuteExport": {
+ "$ref": "./examples/ExportExecutionByBillingAccount.json"
+ },
+ "DepartmentExecuteExport": {
+ "$ref": "./examples/ExportExecutionByDepartment.json"
+ },
+ "EnrollmentAccountExecuteExport": {
+ "$ref": "./examples/ExportExecutionByEnrollmentAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_GetExecutionHistory",
+ "description": "Gets the execution history of a export for the defined scope by export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionList.json"
+ },
+ "ResourceGroupExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionList.json"
+ },
+ "BillingAccountExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByBillingAccount.json"
+ },
+ "DepartmentExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByDepartment.json"
+ },
+ "EnrollmentAccountExecutionHistoryExport": {
+ "$ref": "./examples/ExportExecutionListByEnrollmentAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportExecutionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available cost 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": {
+ "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"
+ }
+ }
+ },
+ "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
+ },
+ "DimensionsListResult": {
+ "description": "Result of listing dimensions. It contains a list of available dimensions.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of dimensions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ }
+ }
+ }
+ },
+ "Dimension": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DimensionProperties",
+ "title": "Dimension properties"
+ }
+ }
+ },
+ "DimensionProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string"
+ },
+ "filterEnabled": {
+ "type": "boolean"
+ },
+ "groupingEnabled": {
+ "type": "boolean"
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "total": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "category": {
+ "type": "string"
+ },
+ "usageStart": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "usageEnd": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "QueryResult": {
+ "description": "Result of query. It contains all columns listed under groupings and aggregation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of usage data.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Query"
+ }
+ }
+ }
+ },
+ "Query": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QueryProperties",
+ "title": "Query properties"
+ }
+ }
+ },
+ "QueryProperties": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "type": "string"
+ },
+ "columns": {
+ "description": "Array of columns",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryColumn"
+ }
+ },
+ "rows": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {}
+ }
+ }
+ }
+ },
+ "QueryColumn": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of cost management operations supported by the Microsoft.CostManagement resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "A Cost management REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.CostManagement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: Dimensions, Query.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "QueryDefinition": {
+ "description": "The definition of a query.",
+ "properties": {
+ "type": {
+ "description": "The type of the query.",
+ "type": "string",
+ "enum": [
+ "Usage"
+ ],
+ "x-ms-enum": {
+ "name": "ExportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the query. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "WeekToDate",
+ "MonthToDate",
+ "YearToDate",
+ "TheLastWeek",
+ "TheLastMonth",
+ "TheLastYear",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "TimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the query.",
+ "$ref": "#/definitions/QueryTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this query.",
+ "$ref": "#/definitions/QueryDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "QueryTimePeriod": {
+ "description": "The start and end date for pulling data for the query.",
+ "properties": {
+ "from": {
+ "description": "The start date to pull data from.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date to pull data to.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "QueryDataset": {
+ "description": "The definition of data present in the query.",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the query.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Hourly"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/QueryDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/QueryAggregation"
+ },
+ "maxItems": 2
+ },
+ "grouping": {
+ "description": "Array of group by expression to use in the query. Query can have up to 2 group by clauses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryGrouping"
+ },
+ "maxItems": 2
+ },
+ "sorting": {
+ "type": "array",
+ "description": "Array of sorting by columns in query.",
+ "items": {
+ "$ref": "#/definitions/QuerySortingConfiguration"
+ }
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the query.",
+ "$ref": "#/definitions/QueryFilter"
+ }
+ }
+ },
+ "QuerySortingConfiguration": {
+ "description": "The configuration for sorting in the query.",
+ "type": "object",
+ "properties": {
+ "querySortingDirection": {
+ "description": "The sorting direction",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ],
+ "x-ms-enum": {
+ "name": "SortDirection",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name of the column to use in sorting.",
+ "type": "string"
+ }
+ }
+ },
+ "QueryDatasetConfiguration": {
+ "description": "The configuration of dataset in the query.",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the query. Any valid query column name is allowed. If not provided, then query includes all columns.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "QueryAggregation": {
+ "description": "The aggregation expression to be used in the query.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to aggregate.",
+ "type": "string"
+ },
+ "function": {
+ "description": "The name of the aggregation function to use.",
+ "type": "string",
+ "enum": [
+ "Sum"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "function"
+ ]
+ },
+ "QueryGrouping": {
+ "description": "The group by expression to be used in the query.",
+ "properties": {
+ "type": {
+ "description": "Has type of the column to group.",
+ "$ref": "#/definitions/QueryColumnType"
+ },
+ "name": {
+ "description": "The name of the column to group.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "QueryFilter": {
+ "description": "The filter expression to be used in the export.",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "minItems": 2
+ },
+ "or": {
+ "description": "The logical \"OR\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "minItems": 2
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "dimension": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/QueryComparisonExpression"
+ },
+ "tag": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/QueryComparisonExpression"
+ }
+ }
+ },
+ "QueryColumnType": {
+ "description": "The type of the column in the export.",
+ "type": "string",
+ "enum": [
+ "Tag",
+ "Dimension"
+ ],
+ "x-ms-enum": {
+ "name": "QueryColumnType",
+ "modelAsString": true
+ }
+ },
+ "QueryComparisonExpression": {
+ "description": "The comparison expression to be used in the query.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to use in comparison.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The operator to use for comparison.",
+ "type": "string",
+ "enum": [
+ "In"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ },
+ "ExportListResult": {
+ "description": "Result of listing exports. It contains a list of available exports in the scope provided.",
+ "properties": {
+ "value": {
+ "description": "The list of exports.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Export"
+ }
+ }
+ }
+ },
+ "Export": {
+ "description": "A export resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExportProperties",
+ "title": "Export properties"
+ }
+ }
+ },
+ "ExportProperties": {
+ "description": "The properties of the export.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonExportProperties"
+ }
+ ],
+ "properties": {
+ "schedule": {
+ "description": "Has schedule information for the export.",
+ "$ref": "#/definitions/ExportSchedule"
+ }
+ }
+ },
+ "CommonExportProperties": {
+ "description": "The common properties of the export.",
+ "properties": {
+ "format": {
+ "description": "The format of the export being delivered.",
+ "type": "string",
+ "enum": [
+ "Csv"
+ ],
+ "x-ms-enum": {
+ "name": "FormatType",
+ "modelAsString": true
+ }
+ },
+ "deliveryInfo": {
+ "description": "Has delivery information for the export.",
+ "$ref": "#/definitions/ExportDeliveryInfo"
+ },
+ "definition": {
+ "description": "Has definition for the export.",
+ "$ref": "#/definitions/QueryDefinition"
+ }
+ },
+ "required": [
+ "deliveryInfo",
+ "definition"
+ ]
+ },
+ "ExportSchedule": {
+ "description": "The schedule associated with a export.",
+ "properties": {
+ "status": {
+ "description": "The status of the schedule. Whether active or not. If inactive, the export's scheduled execution is paused.",
+ "type": "string",
+ "enum": [
+ "Active",
+ "Inactive"
+ ],
+ "x-ms-enum": {
+ "name": "StatusType",
+ "modelAsString": true
+ }
+ },
+ "recurrence": {
+ "description": "The schedule recurrence.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Weekly",
+ "Monthly",
+ "Annually"
+ ],
+ "x-ms-enum": {
+ "name": "RecurrenceType",
+ "modelAsString": true
+ }
+ },
+ "recurrencePeriod": {
+ "description": "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date.",
+ "$ref": "#/definitions/ExportRecurrencePeriod"
+ }
+ },
+ "required": [
+ "recurrence"
+ ]
+ },
+ "ExportDeliveryInfo": {
+ "description": "The delivery information associated with a export.",
+ "properties": {
+ "destination": {
+ "description": "Has destination for the export being delivered.",
+ "$ref": "#/definitions/ExportDeliveryDestination"
+ }
+ },
+ "required": [
+ "destination"
+ ]
+ },
+ "ExportRecurrencePeriod": {
+ "description": "The start and end date for recurrence schedule.",
+ "properties": {
+ "from": {
+ "description": "The start date of recurrence.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date of recurrence.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from"
+ ]
+ },
+ "ExportDeliveryDestination": {
+ "description": "The destination information for the delivery of the export.",
+ "properties": {
+ "resourceId": {
+ "description": "The resource id of the storage account where exports will be delivered.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of the container where exports will be uploaded.",
+ "type": "string"
+ },
+ "rootFolderPath": {
+ "description": "The name of the directory where exports will be uploaded.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceId",
+ "container"
+ ]
+ },
+ "ExportExecutionListResult": {
+ "description": "Result of listing exports execution history of a export by name",
+ "properties": {
+ "value": {
+ "description": "The list of export executions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ExportExecution"
+ }
+ }
+ }
+ },
+ "ExportExecution": {
+ "description": "A export execution.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExportExecutionProperties",
+ "title": "Export execution properties"
+ }
+ }
+ },
+ "ExportExecutionProperties": {
+ "description": "The properties of the export execution.",
+ "properties": {
+ "executionType": {
+ "description": "The type of the export execution.",
+ "type": "string",
+ "enum": [
+ "OnDemand",
+ "Scheduled"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status of the export execution.",
+ "type": "string",
+ "enum": [
+ "Queued",
+ "InProgress",
+ "Completed",
+ "Failed",
+ "Timeout",
+ "NewDataNotAvailable",
+ "DataNotAvailable"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionStatus",
+ "modelAsString": true
+ }
+ },
+ "submittedBy": {
+ "description": "The identifier for the entity that executed the export. For OnDemand executions, it is the email id. For Scheduled executions, it is the constant value - System.",
+ "type": "string"
+ },
+ "submittedTime": {
+ "description": "The time when export was queued to be executed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "processingStartTime": {
+ "description": "The time when export was picked up to be executed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "processingEndTime": {
+ "description": "The time when export execution finished.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "fileName": {
+ "description": "The name of the file export got written to.",
+ "type": "string"
+ },
+ "runSettings": {
+ "$ref": "#/definitions/CommonExportProperties"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "scopeDimensionParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with dimension operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope..",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeQueryParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope..",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "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-05-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"
+ },
+ "billingAccountIdParameter": {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "BillingAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "description": "ManagementGroup ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "departmentIdParameter": {
+ "name": "departmentId",
+ "in": "path",
+ "description": "Department ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "enrollmentAccountIdParameter": {
+ "name": "enrollmentAccountId",
+ "in": "path",
+ "description": "Enrollment Account ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "exportNameParameter": {
+ "name": "exportName",
+ "in": "path",
+ "description": "Export Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountDimensionsList.json
new file mode 100644
index 000000000000..b9f5918e4fa3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountDimensionsList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..2758e49d8cd3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..90bc0b843233
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/ccmapi/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-01-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountQuery.json
new file mode 100644
index 000000000000..92b50ea0cec7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountQuery.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "70664866",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2018-05-31&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..0745bf34512f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/BillingAccountQueryGrouping.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "70664866",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2018-05-31&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentDimensionsList.json
new file mode 100644
index 000000000000..2bbda0e6a272
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "departmentId": "123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..bfd2ad5a29f3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentDimensionsListWithFilter.json
new file mode 100644
index 000000000000..20648e479031
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-01-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentQuery.json
new file mode 100644
index 000000000000..8c18343ea77e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentQuery.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2019-01-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentQueryGrouping.json
new file mode 100644
index 000000000000..0598d0eb209f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/DepartmentQueryGrouping.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2019-01-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountDimensionsList.json
new file mode 100644
index 000000000000..f8f029779d6b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..9f05831c65ef
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..d45b42ec7ab4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-01-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountQuery.json
new file mode 100644
index 000000000000..0971bf9fe43c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountQuery.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2019-01-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountQueryGrouping.json
new file mode 100644
index 000000000000..212d475ef1f8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/EnrollmentAccountQueryGrouping.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ],
+ "sorting": [
+ {
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2019-01-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/Export.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/Export.json
new file mode 100644
index 000000000000..f9137eabaf86
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/Export.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "UsageDate",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ },
+ "aggregation": {
+ "usageSum": {
+ "name": "UsageQuantity",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "Contains",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportByBillingAccount.json
new file mode 100644
index 000000000000..60aeb7f2ad42
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportByBillingAccount.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-Id}/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "UsageDate",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ },
+ "aggregation": {
+ "usageSum": {
+ "name": "UsageQuantity",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "Contains",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportByDepartment.json
new file mode 100644
index 000000000000..933958f10d57
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportByDepartment.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "UsageDate",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ },
+ "aggregation": {
+ "usageSum": {
+ "name": "UsageQuantity",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "Contains",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportByEnrollmentAccount.json
new file mode 100644
index 000000000000..cde78ab1a1c7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportByEnrollmentAccount.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "enrollmentAccountId": "1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/enrollmentAccounts/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "UsageDate",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ },
+ "aggregation": {
+ "usageSum": {
+ "name": "UsageQuantity",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "Contains",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdate.json
new file mode 100644
index 000000000000..3fb355728a8a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdate.json
@@ -0,0 +1,287 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdateByBillingAccount.json
new file mode 100644
index 000000000000..4ed4e59be795
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdateByBillingAccount.json
@@ -0,0 +1,286 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-Id}/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdateByDepartment.json
new file mode 100644
index 000000000000..7607c3b45024
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdateByDepartment.json
@@ -0,0 +1,286 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "1234",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
new file mode 100644
index 000000000000..cc2743d35598
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
@@ -0,0 +1,286 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "enrollmentAccountId": "1234",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/enrollmentAccounts/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/enrollmentAccounts/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ },
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDelete.json
new file mode 100644
index 000000000000..5f684882bf31
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDeleteByBillingAccount.json
new file mode 100644
index 000000000000..cf6af7b140b6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDeleteByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDeleteByDepartment.json
new file mode 100644
index 000000000000..7a5af5221c75
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDeleteByDepartment.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDeleteByEnrollmentAccount.json
new file mode 100644
index 000000000000..e6eef4d34b5a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportDeleteByEnrollmentAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "enrollmentAccountId": "1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecution.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecution.json
new file mode 100644
index 000000000000..916f0ddc6da2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecution.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionByBillingAccount.json
new file mode 100644
index 000000000000..b9aff1fd8d4b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionByDepartment.json
new file mode 100644
index 000000000000..249ed27714f1
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionByDepartment.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionByEnrollmentAccount.json
new file mode 100644
index 000000000000..510971f17922
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionByEnrollmentAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "enrollmentAccountId": "1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionList.json
new file mode 100644
index 000000000000..9d17279a2113
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionList.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionListByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionListByBillingAccount.json
new file mode 100644
index 000000000000..4e0ee014c511
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionListByBillingAccount.json
@@ -0,0 +1,197 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionListByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionListByDepartment.json
new file mode 100644
index 000000000000..ccc085d712c5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionListByDepartment.json
@@ -0,0 +1,197 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionListByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionListByEnrollmentAccount.json
new file mode 100644
index 000000000000..023a74033716
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportExecutionListByEnrollmentAccount.json
@@ -0,0 +1,197 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "enrollmentAccountId": "1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/enrollmentAccounts/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/enrollmentAccounts/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportList.json
new file mode 100644
index 000000000000..f481a6eb5595
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportList.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/{subscription-id}/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "WeekToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ },
+ "aggregation": {
+ "usageSum": {
+ "name": "UsageQuantity",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportListByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportListByBillingAccount.json
new file mode 100644
index 000000000000..b957cc281abe
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportListByBillingAccount.json
@@ -0,0 +1,173 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-Id}/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-Id}/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "WeekToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ },
+ "aggregation": {
+ "usageSum": {
+ "name": "UsageQuantity",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportListByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportListByDepartment.json
new file mode 100644
index 000000000000..45eee8246431
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportListByDepartment.json
@@ -0,0 +1,173 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "1234"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "WeekToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ },
+ "aggregation": {
+ "usageSum": {
+ "name": "UsageQuantity",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportListByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportListByEnrollmentAccount.json
new file mode 100644
index 000000000000..f1f922a1a67a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ExportListByEnrollmentAccount.json
@@ -0,0 +1,173 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "departmentId": "1234"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/departments/{department-Id}/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2018-06-01T00:00:00Z",
+ "to": "2018-10-31T00:00:00Z"
+ },
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "PreTaxCost"
+ ]
+ },
+ "aggregation": {
+ "costSum": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "SubscriptionName"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/departments/{department-Id}/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule":{
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from":"2018-06-01T00:00:00Z",
+ "to":"2018-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition":{
+ "type": "Usage",
+ "timeframe": "WeekToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ },
+ "aggregation": {
+ "usageSum": {
+ "name": "UsageQuantity",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Tag",
+ "name": "Environment"
+ }
+ ],
+ "filter":{
+ "and": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupDimensionsList.json
new file mode 100644
index 000000000000..d9003efbed2b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupDimensionsList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "MyMgId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..f8c7b72df3ef
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupDimensionsListExpandAndTop.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupDimensionsListWithFilter.json
new file mode 100644
index 000000000000..86ea49c3e36f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupDimensionsListWithFilter.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-01-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupQuery.json
new file mode 100644
index 000000000000..a1841f1dac58
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupQuery.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "MyMgId",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2018-05-31&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupQueryGrouping.json
new file mode 100644
index 000000000000..b0363055b1a3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ManagementGroupQueryGrouping.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "managementGroupId": "MyMgId",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ],
+ "sorting": [
+ {
+ "name": "ResourceGroup",
+ "direction": "Descending"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2018-05-31&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ResourceGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ResourceGroupDimensionsList.json
new file mode 100644
index 000000000000..dc0e9e8cf879
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ResourceGroupDimensionsList.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "system.orlando",
+ "$expand": "properties/data",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.storage/storageaccounts"
+ ],
+ "total": 1,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/authprod",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/systemevents",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/armadminprod",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/publicsystemportal"
+ ],
+ "total": 27,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ResourceGroupQuery.json
new file mode 100644
index 000000000000..28f48b60520e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ResourceGroupQuery.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180417,
+ "USD"
+ ],
+ [
+ 20.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180418,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ResourceGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ResourceGroupQueryGrouping.json
new file mode 100644
index 000000000000..3f6e8959173b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/ResourceGroupQueryGrouping.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceType"
+ }
+ ],
+ "sorting": [
+ {
+ "name": "ResourceType",
+ "direction": "Descending"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceType",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "Microsoft.SqlServer",
+ 20180417,
+ "USD"
+ ],
+ [
+ 20.10333307059661,
+ "Microsoft.Compute",
+ 20180418,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/SubscriptionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/SubscriptionDimensionsList.json
new file mode 100644
index 000000000000..d02d49b3c0e6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/SubscriptionDimensionsList.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$top": 5,
+ "$expand": "properties/data"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "dcrg",
+ "rg",
+ "offlinegalleryrg",
+ "system.orlando.adminkeyvault",
+ "system.orlando.keyvault"
+ ],
+ "total": 68,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.storage/storageaccounts",
+ "microsoft.web.admin/role",
+ "microsoft.sql/servers",
+ "microsoft.compute/virtualmachines"
+ ],
+ "total": 4,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/SubscriptionQuery.json
new file mode 100644
index 000000000000..5486e1b0562a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/SubscriptionQuery.json
@@ -0,0 +1,116 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter":{
+ "and": [
+ {
+ "or":[
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ },
+ "sorting": [
+ {
+ "name": "UsageDate",
+ "sortingDirection": "Ascending"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180331,
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "Ict_StratAndPlan_GoldSprova_Prod",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "ssbciotelement01",
+ 20180401,
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ "ict_stratandplan_goldsprova_prod",
+ 20180429,
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/SubscriptionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/SubscriptionQueryGrouping.json
new file mode 100644
index 000000000000..944ece81a2cc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2019-01-01/examples/SubscriptionQueryGrouping.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "parameters":{
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ],
+ "sorting": [
+ {
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 0.009865586851323632,
+ "Ict_StratAndPlan_GoldSprova_Prod_0",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "Ict_StratAndPlan_GoldSprova_Prod_1",
+ "USD"
+ ],
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer1",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "Ssbciotelement01",
+ "USD"
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/cost-management/resource-manager/readme.go.md b/specification/cost-management/resource-manager/readme.go.md
index 59ea8adf67c9..5402662fe5fe 100644
--- a/specification/cost-management/resource-manager/readme.go.md
+++ b/specification/cost-management/resource-manager/readme.go.md
@@ -14,6 +14,7 @@ go:
batch:
- tag: package-2018-05
- tag: package-2018-08-preview
+ - tag: package-2019-01
```
### Tag: package-2018-05 and go
@@ -31,3 +32,11 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-01-01/$(namespace)
+```
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 2574976be824..9be7e6389925 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -5,7 +5,9 @@
This is the AutoRest configuration file for Cost Management.
---
+
## Getting Started
+
To build the SDK for Cost Management, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -13,20 +15,39 @@ To build the SDK for Cost Management, simply [Install AutoRest](https://aka.ms/a
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
### Basic Information
+
These are the global settings for the Cost Management API.
``` yaml
openapi-type: arm
-tag: package-2018-05
+tag: package-2019-01
azure-validator: true
```
---
+
+### Tag: package-2019-01
+
+These settings apply only when `--tag=package-2019-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-01'
+input-file:
+ - Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
+```
+### Tag: package-preview-2019-03
+
+These settings apply only when `--tag=package-preview-2019-03` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2019-03'
+input-file:
+ - Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json
+```
### Tag: package-2018-05
These settings apply only when `--tag=package-2018-05` is specified on the command line.
@@ -37,12 +58,17 @@ input-file:
```
## Suppression
+
``` yaml
directive:
- suppress: R2059
from: costmanagement.json
where: $.paths
reason: We are extending Microsoft.Billing RP in some scenarios
+ - suppress: R3023
+ from: costmanagement.json
+ where: $.paths
+ reason: operations API for Microsoft.Billing are defined in Microsoft.Billing
```
### Tag: package-2018-08-preview
@@ -54,7 +80,6 @@ input-file:
- Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json
```
-
### Tag: package-2018-12-preview
These settings apply only when `--tag=package-2018-12-preview` is specified on the command line.
@@ -64,8 +89,17 @@ input-file:
- Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json
```
+### Tag: package-2019-01
+
+These settings apply only when `--tag=package-2019-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-01'
+input-file:
+- Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
+```
---
+
# Code Generation
## Swagger to SDK
@@ -114,11 +148,13 @@ python:
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-costmanagement/azure/mgmt/costmanagement
```
+
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
@@ -149,6 +185,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-costmanagement
batch:
- tag: package-2018-05
- tag: package-2018-08-preview
+ - tag: package-2019-01
```
### Tag: package-2018-05 and java
@@ -188,4 +225,17 @@ java:
output-folder: $(azure-libraries-for-java-folder)/costmanagement/resource-manager/v2018_12_01_preview
regenerate-manager: true
generate-interface: true
-```
\ No newline at end of file
+```
+
+### Tag: package-2019-01 and java
+
+These settings apply only when `--tag=package-2019-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.costmanagement.v2019_01_01
+ output-folder: $(azure-libraries-for-java-folder)/costmanagement/resource-manager/v2019_01_01
+regenerate-manager: true
+generate-interface: true
+```
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 856bfc7a6ce7..fbd268ade591 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
@@ -2022,24 +2022,20 @@
"$ref": "#/definitions/SSISPackageLocation"
},
"runtime": {
- "description": "Specifies the runtime to execute SSIS package.",
- "type": "string",
- "enum": [
- "x64",
- "x86"
- ],
- "x-ms-enum": {
- "name": "SSISExecutionRuntime",
- "modelAsString": true
- }
+ "description": "Specifies the runtime to execute SSIS package. The value should be \"x86\" or \"x64\". Type: string (or Expression with resultType string).",
+ "type": "object"
},
"loggingLevel": {
- "description": "The logging level of SSIS package execution.",
- "type": "string"
+ "description": "The logging level of SSIS package execution. Type: string (or Expression with resultType string).",
+ "type": "object"
},
"environmentPath": {
- "description": "The environment path to execute the SSIS package.",
- "type": "string"
+ "description": "The environment path to execute the SSIS package. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
+ "executionCredential": {
+ "description": "The package execution credential.",
+ "$ref": "#/definitions/SSISExecutionCredential"
},
"connectVia": {
"description": "The integration runtime reference.",
@@ -2091,8 +2087,8 @@
"type" : "object",
"properties": {
"packagePath": {
- "description": "The SSIS package path.",
- "type": "string"
+ "description": "The SSIS package path. Type: string (or Expression with resultType string).",
+ "type": "object"
}
},
"required": [
@@ -2136,6 +2132,29 @@
"value"
]
},
+ "SSISExecutionCredential": {
+ "description": "SSIS package execution credential.",
+ "type": "object",
+ "properties": {
+ "domain": {
+ "type": "object",
+ "description": "Domain for windows authentication."
+ },
+ "userName": {
+ "type": "object",
+ "description": "UseName for windows authentication."
+ },
+ "password": {
+ "$ref": "../datafactory.json#/definitions/SecureString",
+ "description": "Password for windows authentication."
+ }
+ },
+ "required": [
+ "domain",
+ "userName",
+ "password"
+ ]
+ },
"CustomActivity": {
"description": "Custom activity type.",
"x-ms-discriminator-value": "Custom",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json
index 6224a1915b1d..3ed43c0ab79b 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json
@@ -156,6 +156,54 @@
}
}
},
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/getFeatureValue": {
+ "post": {
+ "tags": [
+ "exposureControl"
+ ],
+ "operationId": "ExposureControl_GetFeatureValue",
+ "x-ms-examples": {
+ "ExposureControl_GetFeatureValue": {
+ "$ref": "./examples/ExposureControl_GetFeatureValue.json"
+ }
+ },
+ "description": "Get exposure control feature for specific location.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/locationId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "exposureControlRequest",
+ "description": "The exposure control request.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExposureControlRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ExposureControlResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories": {
"get": {
"tags": [
@@ -2220,6 +2268,22 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ {
+ "name": "isRecovery",
+ "description": "Recovery mode flag. If recovery mode is set to true, the specified referenced pipeline run and the new run will be grouped under the same groupId.",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "startActivityName",
+ "description": "In recovery mode, the rerun will start from this activity. If not specified, all activities will run.",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
{
"name": "parameters",
"description": "Parameters of the pipeline run. These parameters will be used only if the runId is not specified.",
@@ -4045,7 +4109,9 @@
"ActivityRunEnd",
"ActivityType",
"TriggerName",
- "TriggerRunTimestamp"
+ "TriggerRunTimestamp",
+ "RunGroupId",
+ "LatestOnly"
],
"x-ms-enum": {
"name": "RunQueryFilterOperand",
@@ -4150,6 +4216,16 @@
"type": "string",
"readOnly": true
},
+ "runGroupId": {
+ "description": "Identifier that correlates all the recovery runs of a pipeline run.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isLatest": {
+ "description": "Indicates if the recovered pipeline run is the latest in its group.",
+ "type": "boolean",
+ "readOnly": true
+ },
"pipelineName": {
"description": "The pipeline name.",
"type": "string",
@@ -4693,6 +4769,36 @@
"description": "The operation error message."
}
}
+ },
+ "ExposureControlRequest": {
+ "type": "object",
+ "description": "The exposure control request.",
+ "properties": {
+ "featureName": {
+ "type": "string",
+ "description": "The feature name."
+ },
+ "featureType": {
+ "type": "string",
+ "description": "The feature type."
+ }
+ }
+ },
+ "ExposureControlResponse": {
+ "type": "object",
+ "description": "The exposure control response.",
+ "properties": {
+ "featureName": {
+ "type": "string",
+ "description": "The feature name.",
+ "readOnly": true
+ },
+ "value": {
+ "type": "string",
+ "description": "The feature value.",
+ "readOnly": true
+ }
+ }
}
},
"parameters": {
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
index d0108dc083a4..0a864aa7b088 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "DataFactoryManagementClient",
- "version": "2017-09-01-preview"
+ "version": "2018-06-01"
},
"paths": {},
"definitions": {
@@ -23,6 +23,10 @@
"type": "object",
"description": "Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement."
},
+ "schema": {
+ "type": "object",
+ "description": "Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement."
+ },
"linkedServiceName": {
"description": "Linked service reference.",
"$ref": "../datafactory.json#/definitions/LinkedServiceReference"
@@ -71,6 +75,23 @@
}
}
},
+ "DatasetSchemaDataElement": {
+ "description": "Columns that define the physical type schema of the dataset.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "object",
+ "description": "Name of the schema column. Type: string (or Expression with resultType string)."
+ },
+ "type": {
+ "type": "object",
+ "description": "Type of the schema column. Type: string (or Expression with resultType string)."
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
"DatasetStorageFormat": {
"discriminator": "type",
"description": "The format definition of a storage.",
@@ -341,6 +362,14 @@
"type": "object",
"description": "The version for the S3 object. Type: string (or Expression with resultType string)."
},
+ "modifiedDatetimeStart": {
+ "type": "object",
+ "description": "The start of S3 object's modified datetime. Type: string (or Expression with resultType string)."
+ },
+ "modifiedDatetimeEnd": {
+ "type": "object",
+ "description": "The end of S3 object's modified datetime. Type: string (or Expression with resultType string)."
+ },
"format": {
"description": "The format of files.",
"$ref": "#/definitions/DatasetStorageFormat"
@@ -389,6 +418,14 @@
"type": "object",
"description": "The name of the Azure Blob. Type: string (or Expression with resultType string)."
},
+ "modifiedDatetimeStart": {
+ "type": "object",
+ "description": "The start of Azure Blob's modified datetime. Type: string (or Expression with resultType string)."
+ },
+ "modifiedDatetimeEnd": {
+ "type": "object",
+ "description": "The end of Azure Blob's modified datetime. Type: string (or Expression with resultType string)."
+ },
"format": {
"description": "The format of the Azure Blob storage.",
"$ref": "#/definitions/DatasetStorageFormat"
@@ -652,6 +689,80 @@
"folderPath"
]
},
+ "AzureBlobFSDataset": {
+ "x-ms-discriminator-value": "AzureBlobFSFile",
+ "description": "The Azure Data Lake Storage Gen2 storage.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure Data Lake Storage Gen2 dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureBlobFSDatasetTypeProperties"
+ }
+ }
+ },
+ "AzureBlobFSDatasetTypeProperties": {
+ "description": "Azure Data Lake Storage Gen2 dataset properties.",
+ "properties": {
+ "folderPath": {
+ "type": "object",
+ "description": "The path of the Azure Data Lake Storage Gen2 storage. Type: string (or Expression with resultType string)."
+ },
+ "fileName": {
+ "type": "object",
+ "description": "The name of the Azure Data Lake Storage Gen2. Type: string (or Expression with resultType string)."
+ },
+ "format": {
+ "description": "The format of the Azure Data Lake Storage Gen2 storage.",
+ "$ref": "#/definitions/DatasetStorageFormat"
+ },
+ "compression": {
+ "description": "The data compression method used for the blob storage.",
+ "$ref": "#/definitions/DatasetCompression"
+ }
+ }
+ },
+ "Office365Dataset": {
+ "x-ms-discriminator-value": "Office365Table",
+ "description": "The Office365 account.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Office365 dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/Office365DatasetTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "Office365DatasetTypeProperties": {
+ "description": "Office365 dataset properties.",
+ "properties": {
+ "tableName": {
+ "type": "object",
+ "description": "Name of the dataset to extract from Office 365. Type: string (or Expression with resultType string)."
+ },
+ "predicate": {
+ "type": "object",
+ "description": "A predicate expression that can be used to filter the specific rows to extract from Office 365. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "tableName"
+ ]
+ },
"FileShareDataset": {
"x-ms-discriminator-value": "FileShare",
"description": "An on-premises file system dataset.",
@@ -683,6 +794,14 @@
"type": "object",
"description": "The name of the on-premises file system. Type: string (or Expression with resultType string)."
},
+ "modifiedDatetimeStart": {
+ "type": "object",
+ "description": "The start of file's modified datetime. Type: string (or Expression with resultType string)."
+ },
+ "modifiedDatetimeEnd": {
+ "type": "object",
+ "description": "The end of file's modified datetime. Type: string (or Expression with resultType string)."
+ },
"format": {
"description": "The format of the files.",
"$ref": "#/definitions/DatasetStorageFormat"
@@ -729,6 +848,70 @@
"collectionName"
]
},
+ "MongoDbV2CollectionDataset": {
+ "x-ms-discriminator-value": "MongoDbV2Collection",
+ "description": "The MongoDB database dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "MongoDB database dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MongoDbV2CollectionDatasetTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "MongoDbV2CollectionDatasetTypeProperties": {
+ "description": "MongoDB database dataset properties.",
+ "properties": {
+ "collection": {
+ "type": "object",
+ "description": "The collection name of the MongoDB database. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "collection"
+ ]
+ },
+ "CosmosDbMongoDbApiCollectionDataset": {
+ "x-ms-discriminator-value": "CosmosDbMongoDbApiCollection",
+ "description": "The CosmosDB (MongoDB API) database dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "CosmosDB (MongoDB API) database dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CosmosDbMongoDbApiCollectionDatasetTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "CosmosDbMongoDbApiCollectionDatasetTypeProperties": {
+ "description": "CosmosDB (MongoDB API) database dataset properties.",
+ "properties": {
+ "collection": {
+ "type": "object",
+ "description": "The collection name of the CosmosDB (MongoDB API) database. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "collection"
+ ]
+ },
"ODataResourceDataset": {
"x-ms-discriminator-value": "ODataResource",
"description": "The Open Data Protocol (OData) resource dataset.",
@@ -941,6 +1124,46 @@
"path"
]
},
+ "SapOpenHubTableDataset": {
+ "x-ms-discriminator-value": "SapOpenHubTable",
+ "description": "Sap Business Warehouse Open Hub Destination Table properties.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Sap Business Warehouse Open Hub Destination Table properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SapOpenHubTableDatasetTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "SapOpenHubTableDatasetTypeProperties": {
+ "description": "Sap Business Warehouse Open Hub Destination Table properties.",
+ "properties": {
+ "openHubDestinationName": {
+ "type": "object",
+ "description": "The name of the Open Hub Destination with destination type as Database Table. Type: string (or Expression with resultType string)."
+ },
+ "excludeLastRequest": {
+ "type": "object",
+ "description": "Whether to exclude the records of the last request. The default value is true. Type: boolean (or Expression with resultType boolean)."
+ },
+ "baseRequestId": {
+ "type": "object",
+ "description": "The ID of request for delta loading. Once it is set, only data with requestId larger than the value of this property will be retrieved. The default value is 0. Type: integer (or Expression with resultType integer )."
+ }
+ },
+ "required": [
+ "openHubDestinationName"
+ ]
+ },
"SqlServerTableDataset": {
"x-ms-discriminator-value": "SqlServerTable",
"description": "The on-premises SQL Server dataset.",
@@ -973,6 +1196,48 @@
"tableName"
]
},
+ "RestResourceDataset": {
+ "x-ms-discriminator-value": "RestResource",
+ "description": "A Rest service dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Properties specific to this dataset type.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RestResourceDatasetTypeProperties"
+ }
+ }
+ },
+ "RestResourceDatasetTypeProperties": {
+ "description": "Properties specific to this dataset type.",
+ "properties": {
+ "relativeUrl": {
+ "type": "object",
+ "description": "The relative URL to the resource that the RESTful API provides. Type: string (or Expression with resultType string)."
+ },
+ "requestMethod": {
+ "type": "object",
+ "description": "The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string)."
+ },
+ "requestBody": {
+ "type": "object",
+ "description": "The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string)."
+ },
+ "additionalHeaders": {
+ "type": "object",
+ "description": "The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string)."
+ },
+ "paginationRules": {
+ "type": "object",
+ "description": "The pagination rules to compose next page requests. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
"WebTableDataset": {
"x-ms-discriminator-value": "WebTable",
"description": "The dataset points to a HTML table in the web page.",
@@ -1608,6 +1873,102 @@
"$ref": "#/definitions/GenericDatasetTypeProperties"
}
}
+ },
+ "DynamicsAXResourceDataset": {
+ "x-ms-discriminator-value": "DynamicsAXResource",
+ "description": "The path of the Dynamics AX OData entity.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Dynamics AX OData resource dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DynamicsAXResourceDatasetTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "DynamicsAXResourceDatasetTypeProperties": {
+ "description": "Dynamics AX OData resource dataset properties.",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path of the Dynamics AX OData entity. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "path"
+ ]
+ },
+ "OracleServiceCloudObjectDataset": {
+ "x-ms-discriminator-value": "OracleServiceCloudObject",
+ "description": "Oracle Service Cloud dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Properties specific to this dataset type.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GenericDatasetTypeProperties"
+ }
+ }
+ },
+ "AzureDataExplorerTableDataset": {
+ "x-ms-discriminator-value": "AzureDataExplorerTable",
+ "description": "The Azure Data Explorer (Kusto) dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure Data Explorer (Kusto) dataset properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureDataExplorerDatasetTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureDataExplorerDatasetTypeProperties": {
+ "description": "Azure Data Explorer (Kusto) dataset properties.",
+ "properties": {
+ "table": {
+ "type": "object",
+ "description": "The table name of the Azure Data Explorer database. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "GoogleAdWordsObjectDataset": {
+ "x-ms-discriminator-value": "GoogleAdWordsObject",
+ "description": "Google AdWords service dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Dataset"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Properties specific to this dataset type.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GenericDatasetTypeProperties"
+ }
+ }
}
}
}
+
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
index ce9e4f16e2a6..31e888f4724f 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "DataFactoryManagementClient",
- "version": "2017-09-01-preview"
+ "version": "2018-06-01"
},
"paths": {},
"definitions": {
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
index 70ec6c7fa6bd..52ba169775af 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "DataFactoryManagementClient",
- "version": "2017-09-01-preview"
+ "version": "2018-06-01"
},
"paths": {},
"definitions": {
@@ -28,7 +28,7 @@
"description": "Parameters for linked service."
},
"annotations": {
- "description": "List of tags that can be used for describing the Dataset.",
+ "description": "List of tags that can be used for describing the linked service.",
"type": "array",
"items": {
"type": "object"
@@ -109,7 +109,7 @@
"description": "The connection string. It is mutually exclusive with sasUri property. Type: string, SecureString or AzureKeyVaultSecretReference.",
"type": "object"
},
- "accountKey": {
+ "accountKey": {
"$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference",
"description": "The Azure key vault secret reference of accountKey in connection string."
},
@@ -132,7 +132,7 @@
"properties": {
"connectionString": {
"type": "object",
- "description": "The connection string. It is mutually exclusive with sasUri, serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference."
+ "description": "The connection string. It is mutually exclusive with sasUri, serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference."
},
"accountKey": {
"$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference",
@@ -148,7 +148,7 @@
},
"serviceEndpoint": {
"type": "string",
- "description": "Blob service endpoint of the Azure Blob Storage resource. It is mutually exclusive with connectionString, sasUri property."
+ "description": "Blob service endpoint of the Azure Blob Storage resource. It is mutually exclusive with connectionString, sasUri property."
},
"servicePrincipalId": {
"type": "object",
@@ -487,8 +487,8 @@
"description": "The port of on-premises Dynamics server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0."
},
"serviceUri": {
- "type": "object",
- "description": "The URL to the Microsoft Dynamics server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string)."
+ "type": "object",
+ "description": "The URL to the Microsoft Dynamics server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string)."
},
"organizationName": {
"type": "object",
@@ -1155,7 +1155,10 @@
"type": "string",
"enum": [
"Basic",
- "Anonymous"
+ "Anonymous",
+ "Windows",
+ "AadServicePrincipal",
+ "ManagedServiceIdentity"
],
"x-ms-enum": {
"name": "ODataAuthenticationType",
@@ -1170,6 +1173,42 @@
"description": "Password of the OData service.",
"$ref": "../datafactory.json#/definitions/SecretBase"
},
+ "tenant": {
+ "type": "object",
+ "description": "Specify the tenant information (domain name or tenant ID) under which your application resides. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalId": {
+ "type": "object",
+ "description": "Specify the application id of your application registered in Azure Active Directory. Type: string (or Expression with resultType string)."
+ },
+ "aadResourceId": {
+ "type": "object",
+ "description": "Specify the resource you are requesting authorization to use Directory. Type: string (or Expression with resultType string)."
+ },
+ "aadServicePrincipalCredentialType": {
+ "description": "Specify the credential type (key or cert) is used for service principal.",
+ "type": "string",
+ "enum": [
+ "ServicePrincipalKey",
+ "ServicePrincipalCert"
+ ],
+ "x-ms-enum": {
+ "name": "ODataAadServicePrincipalCredentialType",
+ "modelAsString": true
+ }
+ },
+ "servicePrincipalKey": {
+ "description": "Specify the secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "servicePrincipalEmbeddedCert": {
+ "description": "Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string).",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "servicePrincipalEmbeddedCertPassword": {
+ "description": "Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string).",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
@@ -1410,6 +1449,80 @@
"databaseName"
]
},
+ "MongoDbV2LinkedService": {
+ "x-ms-discriminator-value": "MongoDbV2",
+ "description": "Linked service for MongoDB data source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "MongoDB linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MongoDbV2LinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "MongoDbV2LinkedServiceTypeProperties": {
+ "description": "MongoDB linked service properties.",
+ "properties": {
+ "connectionString": {
+ "description": "The MongoDB connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.",
+ "type": "object"
+ },
+ "database": {
+ "type": "object",
+ "description": "The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "connectionString",
+ "database"
+ ]
+ },
+ "CosmosDbMongoDbApiLinkedService": {
+ "x-ms-discriminator-value": "CosmosDbMongoDbApi",
+ "description": "Linked service for CosmosDB (MongoDB API) data source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "CosmosDB (MongoDB API) linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CosmosDbMongoDbApiLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "CosmosDbMongoDbApiLinkedServiceTypeProperties": {
+ "description": "CosmosDB (MongoDB API) linked service properties.",
+ "properties": {
+ "connectionString": {
+ "description": "The CosmosDB (MongoDB API) connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.",
+ "type": "object"
+ },
+ "database": {
+ "type": "object",
+ "description": "The name of the CosmosDB (MongoDB API) database that you want to access. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "connectionString",
+ "database"
+ ]
+ },
"AzureDataLakeStoreLinkedService": {
"x-ms-discriminator-value": "AzureDataLakeStore",
"description": "Azure Data Lake Store linked service.",
@@ -1470,6 +1583,109 @@
"dataLakeStoreUri"
]
},
+ "AzureBlobFSLinkedService": {
+ "x-ms-discriminator-value": "AzureBlobFS",
+ "description": "Azure Data Lake Storage Gen2 linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure Data Lake Storage Gen2 linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureBlobFSLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureBlobFSLinkedServiceTypeProperties": {
+ "description": "Azure Data Lake Storage Gen2 linked service properties.",
+ "properties": {
+ "url": {
+ "type": "object",
+ "description": "Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string)."
+ },
+ "accountKey": {
+ "type": "object",
+ "description": "Account key for the Azure Data Lake Storage Gen2 service. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalId": {
+ "type": "object",
+ "description": "The ID of the application used to authenticate against the Azure Data Lake Storage Gen2 account. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalKey": {
+ "description": "The Key of the application used to authenticate against the Azure Data Lake Storage Gen2 account.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "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",
+ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "url"
+ ]
+ },
+ "Office365LinkedService": {
+ "x-ms-discriminator-value": "Office365",
+ "description": "Office365 linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Office365 linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/Office365LinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "Office365LinkedServiceTypeProperties": {
+ "description": "Office365 linked service properties.",
+ "properties": {
+ "office365TenantId": {
+ "type": "object",
+ "description": "Azure tenant ID to which the Office 365 account belongs. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalTenantId": {
+ "type": "object",
+ "description": "Specify the tenant information under which your Azure AD web application resides. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalId": {
+ "type": "object",
+ "description": "Specify the application's client ID. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalKey": {
+ "description": "Specify the application's key.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "encryptedCredential": {
+ "type": "object",
+ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "office365TenantId",
+ "servicePrincipalTenantId",
+ "servicePrincipalId",
+ "servicePrincipalKey"
+ ]
+ },
"SalesforceLinkedService": {
"x-ms-discriminator-value": "Salesforce",
"description": "Linked service for Salesforce.",
@@ -1603,9 +1819,9 @@
"url"
]
},
- "AmazonS3LinkedService": {
- "x-ms-discriminator-value": "AmazonS3",
- "description": "Linked service for Amazon S3.",
+ "SapOpenHubLinkedService": {
+ "x-ms-discriminator-value": "SapOpenHub",
+ "description": "SAP Business Warehouse Open Hub Destination Linked Service.",
"type": "object",
"allOf": [
{
@@ -1614,35 +1830,56 @@
],
"properties": {
"typeProperties": {
- "description": "Amazon S3 linked service properties.",
+ "description": "Properties specific to SAP Business Warehouse Open Hub Destination linked service type.",
"x-ms-client-flatten": true,
- "$ref": "#/definitions/AmazonS3LinkedServiceTypeProperties"
+ "$ref": "#/definitions/SapOpenHubLinkedServiceTypeProperties"
}
},
"required": [
"typeProperties"
]
},
- "AmazonS3LinkedServiceTypeProperties": {
- "description": "Amazon S3 linked service properties.",
+ "SapOpenHubLinkedServiceTypeProperties": {
+ "description": "Properties specific to SAP Business Warehouse Open Hub Destination linked service type.",
"properties": {
- "accessKeyId": {
+ "server": {
"type": "object",
- "description": "The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string)."
+ "description": "Host name of the SAP BW instance where the open hub destination is located. Type: string (or Expression with resultType string)."
},
- "secretAccessKey": {
- "description": "The secret access key of the Amazon S3 Identity and Access Management (IAM) user.",
+ "systemNumber": {
+ "type": "object",
+ "description": "System number of the BW system where the open hub destination is located. (Usually a two-digit decimal number represented as a string.) Type: string (or Expression with resultType string)."
+ },
+ "clientId": {
+ "type": "object",
+ "description": "Client ID of the client on the BW system where the open hub destination is located. (Usually a three-digit decimal number represented as a string) Type: string (or Expression with resultType string)."
+ },
+ "language": {
+ "type": "object",
+ "description": "Language of the BW system where the open hub destination is located. The default value is EN. Type: string (or Expression with resultType string)."
+ },
+ "userName": {
+ "type": "object",
+ "description": "Username to access the SAP BW server where the open hub destination is located. Type: string (or Expression with resultType string)."
+ },
+ "password": {
+ "description": "Password to access the SAP BW server where the open hub destination is located.",
"$ref": "../datafactory.json#/definitions/SecretBase"
},
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
}
- }
+ },
+ "required": [
+ "server",
+ "systemNumber",
+ "clientId"
+ ]
},
- "AmazonRedshiftLinkedService": {
- "x-ms-discriminator-value": "AmazonRedshift",
- "description": "Linked service for Amazon Redshift.",
+ "RestServiceLinkedService": {
+ "x-ms-discriminator-value": "RestService",
+ "description": "Rest Service linked service.",
"type": "object",
"allOf": [
{
@@ -1651,51 +1888,77 @@
],
"properties": {
"typeProperties": {
- "description": "Amazon Redshift linked service properties.",
+ "description": "Rest Service linked service properties.",
"x-ms-client-flatten": true,
- "$ref": "#/definitions/AmazonRedshiftLinkedServiceTypeProperties"
+ "$ref": "#/definitions/RestServiceLinkedServiceTypeProperties"
}
},
"required": [
"typeProperties"
]
},
- "AmazonRedshiftLinkedServiceTypeProperties": {
- "description": "Amazon Redshift linked service properties.",
+ "RestServiceLinkedServiceTypeProperties": {
+ "description": "Rest Service linked service properties.",
"properties": {
- "server": {
- "type": "object",
- "description": "The name of the Amazon Redshift server. Type: string (or Expression with resultType string)."
+ "url": {
+ "description": "The base URL of the REST service.",
+ "type": "object"
},
- "username": {
+ "enableServerCertificateValidation": {
"type": "object",
- "description": "The username of the Amazon Redshift source. Type: string (or Expression with resultType string)."
+ "description": "Whether to validate server side SSL certificate when connecting to the endpoint.The default value is true. Type: boolean (or Expression with resultType boolean)."
+ },
+ "authenticationType": {
+ "description": "Type of authentication used to connect to the REST service.",
+ "type": "string",
+ "enum": [
+ "Anonymous",
+ "Basic",
+ "AadServicePrincipal",
+ "ManagedServiceIdentity"
+ ],
+ "x-ms-enum": {
+ "name": "RestServiceAuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "userName": {
+ "description": "The user name used in Basic authentication type.",
+ "type": "object"
},
"password": {
- "description": "The password of the Amazon Redshift source.",
+ "description": "The password used in Basic authentication type.",
"$ref": "../datafactory.json#/definitions/SecretBase"
},
- "database": {
- "type": "object",
- "description": "The database name of the Amazon Redshift source. Type: string (or Expression with resultType string)."
+ "servicePrincipalId": {
+ "description": "The application's client ID used in AadServicePrincipal authentication type.",
+ "type": "object"
},
- "port": {
- "type": "object",
- "description": "The TCP port number that the Amazon Redshift server uses to listen for client connections. The default value is 5439. Type: integer (or Expression with resultType integer)."
+ "servicePrincipalKey": {
+ "description": "The application's key used in AadServicePrincipal authentication type.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "tenant": {
+ "description": "The tenant information (domain name or tenant ID) used in AadServicePrincipal authentication type under which your application resides.",
+ "type": "object"
+ },
+ "aadResourceId": {
+ "description": "The resource you are requesting authorization to use.",
+ "type": "object"
},
"encryptedCredential": {
- "type": "object",
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
+ "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"
}
},
"required": [
- "server",
- "database"
+ "url",
+ "authenticationType"
]
},
- "CustomDataSourceLinkedService": {
- "x-ms-discriminator-value": "CustomDataSource",
- "description": "Custom linked service.",
+ "AmazonS3LinkedService": {
+ "x-ms-discriminator-value": "AmazonS3",
+ "description": "Linked service for Amazon S3.",
"type": "object",
"allOf": [
{
@@ -1704,22 +1967,116 @@
],
"properties": {
"typeProperties": {
- "description": "Custom linked service properties.",
+ "description": "Amazon S3 linked service properties.",
"x-ms-client-flatten": true,
- "type": "object"
+ "$ref": "#/definitions/AmazonS3LinkedServiceTypeProperties"
}
},
"required": [
"typeProperties"
]
},
- "AzureSearchLinkedService": {
- "x-ms-discriminator-value": "AzureSearch",
- "description": "Linked service for Windows Azure Search Service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
+ "AmazonS3LinkedServiceTypeProperties": {
+ "description": "Amazon S3 linked service properties.",
+ "properties": {
+ "accessKeyId": {
+ "type": "object",
+ "description": "The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string)."
+ },
+ "secretAccessKey": {
+ "description": "The secret access key of the Amazon S3 Identity and Access Management (IAM) user.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "serviceUrl": {
+ "type": "object",
+ "description": "This value specifies the endpoint to access with the S3 Connector. This is an optional property; change it only if you want to try a different service endpoint or want to switch between https and http. Type: string (or Expression with resultType string)."
+ },
+ "encryptedCredential": {
+ "type": "object",
+ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "AmazonRedshiftLinkedService": {
+ "x-ms-discriminator-value": "AmazonRedshift",
+ "description": "Linked service for Amazon Redshift.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Amazon Redshift linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AmazonRedshiftLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AmazonRedshiftLinkedServiceTypeProperties": {
+ "description": "Amazon Redshift linked service properties.",
+ "properties": {
+ "server": {
+ "type": "object",
+ "description": "The name of the Amazon Redshift server. Type: string (or Expression with resultType string)."
+ },
+ "username": {
+ "type": "object",
+ "description": "The username of the Amazon Redshift source. Type: string (or Expression with resultType string)."
+ },
+ "password": {
+ "description": "The password of the Amazon Redshift source.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "database": {
+ "type": "object",
+ "description": "The database name of the Amazon Redshift source. Type: string (or Expression with resultType string)."
+ },
+ "port": {
+ "type": "object",
+ "description": "The TCP port number that the Amazon Redshift server uses to listen for client connections. The default value is 5439. Type: integer (or Expression with resultType integer)."
+ },
+ "encryptedCredential": {
+ "type": "object",
+ "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "server",
+ "database"
+ ]
+ },
+ "CustomDataSourceLinkedService": {
+ "x-ms-discriminator-value": "CustomDataSource",
+ "description": "Custom linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Custom linked service properties.",
+ "x-ms-client-flatten": true,
+ "type": "object"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureSearchLinkedService": {
+ "x-ms-discriminator-value": "AzureSearch",
+ "description": "Linked service for Windows Azure Search Service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
}
],
"properties": {
@@ -2082,28 +2439,28 @@
"server"
]
},
- "AmazonMWSLinkedService": {
- "x-ms-discriminator-value": "AmazonMWS",
- "description": "Amazon Marketplace Web Service linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Amazon Marketplace Web Service linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/AmazonMWSLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "AmazonMWSLinkedServiceTypeProperties": {
- "description": "Amazon Marketplace Web Service linked service properties.",
+ "AmazonMWSLinkedService": {
+ "x-ms-discriminator-value": "AmazonMWS",
+ "description": "Amazon Marketplace Web Service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Amazon Marketplace Web Service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AmazonMWSLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AmazonMWSLinkedServiceTypeProperties": {
+ "description": "Amazon Marketplace Web Service linked service properties.",
"properties": {
"endpoint": {
"description": "The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com)",
@@ -2141,8 +2498,8 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
@@ -2151,29 +2508,29 @@
"marketplaceID",
"sellerID",
"accessKeyId"
- ]
- },
- "AzurePostgreSqlLinkedService": {
- "x-ms-discriminator-value": "AzurePostgreSql",
- "description": "Azure PostgreSQL linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Azure PostgreSQL linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/AzurePostgreSqlLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "AzurePostgreSqlLinkedServiceTypeProperties": {
+ ]
+ },
+ "AzurePostgreSqlLinkedService": {
+ "x-ms-discriminator-value": "AzurePostgreSql",
+ "description": "Azure PostgreSQL linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure PostgreSQL linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzurePostgreSqlLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzurePostgreSqlLinkedServiceTypeProperties": {
"description": "Azure PostgreSQL linked service properties.",
"properties": {
"connectionString": {
@@ -2188,30 +2545,30 @@
"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"
}
- }
- },
- "ConcurLinkedService": {
- "x-ms-discriminator-value": "Concur",
- "description": "Concur Service linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Concur Service linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ConcurLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "ConcurLinkedServiceTypeProperties": {
- "description": "Concur Service linked service properties.",
+ }
+ },
+ "ConcurLinkedService": {
+ "x-ms-discriminator-value": "Concur",
+ "description": "Concur Service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Concur Service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConcurLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "ConcurLinkedServiceTypeProperties": {
+ "description": "Concur Service linked service properties.",
"properties": {
"clientId": {
"description": "Application client_id supplied by Concur App Management.",
@@ -2237,37 +2594,37 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"clientId",
"username"
- ]
- },
- "CouchbaseLinkedService": {
- "x-ms-discriminator-value": "Couchbase",
- "description": "Couchbase server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Couchbase server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/CouchbaseLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "CouchbaseLinkedServiceTypeProperties": {
+ ]
+ },
+ "CouchbaseLinkedService": {
+ "x-ms-discriminator-value": "Couchbase",
+ "description": "Couchbase server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Couchbase server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CouchbaseLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "CouchbaseLinkedServiceTypeProperties": {
"description": "Couchbase server linked service properties.",
"properties": {
"connectionString": {
@@ -2282,29 +2639,29 @@
"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"
}
- }
- },
- "DrillLinkedService": {
- "x-ms-discriminator-value": "Drill",
- "description": "Drill server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Drill server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/DrillLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "DrillLinkedServiceTypeProperties": {
+ }
+ },
+ "DrillLinkedService": {
+ "x-ms-discriminator-value": "Drill",
+ "description": "Drill server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Drill server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DrillLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "DrillLinkedServiceTypeProperties": {
"description": "Drill server linked service properties.",
"properties": {
"connectionString": {
@@ -2319,30 +2676,30 @@
"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"
}
- }
- },
- "EloquaLinkedService": {
- "x-ms-discriminator-value": "Eloqua",
- "description": "Eloqua server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Eloqua server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/EloquaLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "EloquaLinkedServiceTypeProperties": {
- "description": "Eloqua server linked service properties.",
+ }
+ },
+ "EloquaLinkedService": {
+ "x-ms-discriminator-value": "Eloqua",
+ "description": "Eloqua server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Eloqua server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EloquaLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "EloquaLinkedServiceTypeProperties": {
+ "description": "Eloqua server linked service properties.",
"properties": {
"endpoint": {
"description": "The endpoint of the Eloqua server. (i.e. eloqua.example.com)",
@@ -2368,38 +2725,38 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"endpoint",
"username"
- ]
- },
- "GoogleBigQueryLinkedService": {
- "x-ms-discriminator-value": "GoogleBigQuery",
- "description": "Google BigQuery service linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Google BigQuery service linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/GoogleBigQueryLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "GoogleBigQueryLinkedServiceTypeProperties": {
- "description": "Google BigQuery service linked service properties.",
+ ]
+ },
+ "GoogleBigQueryLinkedService": {
+ "x-ms-discriminator-value": "GoogleBigQuery",
+ "description": "Google BigQuery service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Google BigQuery service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GoogleBigQueryLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "GoogleBigQueryLinkedServiceTypeProperties": {
+ "description": "Google BigQuery service linked service properties.",
"properties": {
"project": {
"description": "The default BigQuery project to query against.",
@@ -2453,37 +2810,37 @@
"description": "Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"project",
"authenticationType"
- ]
- },
- "GreenplumLinkedService": {
- "x-ms-discriminator-value": "Greenplum",
- "description": "Greenplum Database linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Greenplum Database linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/GreenplumLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "GreenplumLinkedServiceTypeProperties": {
+ ]
+ },
+ "GreenplumLinkedService": {
+ "x-ms-discriminator-value": "Greenplum",
+ "description": "Greenplum Database linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Greenplum Database linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GreenplumLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "GreenplumLinkedServiceTypeProperties": {
"description": "Greenplum Database linked service properties.",
"properties": {
"connectionString": {
@@ -2498,38 +2855,38 @@
"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"
}
- }
- },
- "HBaseLinkedService": {
- "x-ms-discriminator-value": "HBase",
- "description": "HBase server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "HBase server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/HBaseLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "HBaseLinkedServiceTypeProperties": {
- "description": "HBase server linked service properties.",
+ }
+ },
+ "HBaseLinkedService": {
+ "x-ms-discriminator-value": "HBase",
+ "description": "HBase server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
"properties": {
- "host": {
- "description": "The IP address or host name of the HBase server. (i.e. 192.168.222.160)",
- "type": "object"
- },
- "port": {
- "description": "The TCP port that the HBase instance uses to listen for client connections. The default value is 9090.",
- "type": "object"
+ "typeProperties": {
+ "description": "HBase server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HBaseLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "HBaseLinkedServiceTypeProperties": {
+ "description": "HBase server linked service properties.",
+ "properties": {
+ "host": {
+ "description": "The IP address or host name of the HBase server. (i.e. 192.168.222.160)",
+ "type": "object"
+ },
+ "port": {
+ "description": "The TCP port that the HBase instance uses to listen for client connections. The default value is 9090.",
+ "type": "object"
},
"httpPath": {
"description": "The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version)",
@@ -2571,38 +2928,38 @@
"description": "Specifies whether to allow self-signed certificates from the server. The default value is false.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"host",
"authenticationType"
- ]
- },
- "HiveLinkedService": {
- "x-ms-discriminator-value": "Hive",
- "description": "Hive Server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Hive Server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/HiveLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "HiveLinkedServiceTypeProperties": {
- "description": "Hive Server linked service properties.",
+ ]
+ },
+ "HiveLinkedService": {
+ "x-ms-discriminator-value": "Hive",
+ "description": "Hive Server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Hive Server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HiveLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "HiveLinkedServiceTypeProperties": {
+ "description": "Hive Server linked service properties.",
"properties": {
"host": {
"description": "IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable).",
@@ -2696,38 +3053,38 @@
"description": "Specifies whether to allow self-signed certificates from the server. The default value is false.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"host",
"authenticationType"
- ]
- },
- "HubspotLinkedService": {
- "x-ms-discriminator-value": "Hubspot",
- "description": "Hubspot Service linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Hubspot Service linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/HubspotLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "HubspotLinkedServiceTypeProperties": {
- "description": "Hubspot Service linked service properties.",
+ ]
+ },
+ "HubspotLinkedService": {
+ "x-ms-discriminator-value": "Hubspot",
+ "description": "Hubspot Service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Hubspot Service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HubspotLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "HubspotLinkedServiceTypeProperties": {
+ "description": "Hubspot Service linked service properties.",
"properties": {
"clientId": {
"description": "The client ID associated with your Hubspot application.",
@@ -2757,37 +3114,37 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"clientId"
- ]
- },
- "ImpalaLinkedService": {
- "x-ms-discriminator-value": "Impala",
- "description": "Impala server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Impala server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ImpalaLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "ImpalaLinkedServiceTypeProperties": {
- "description": "Impala server linked service properties.",
+ ]
+ },
+ "ImpalaLinkedService": {
+ "x-ms-discriminator-value": "Impala",
+ "description": "Impala server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Impala server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ImpalaLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "ImpalaLinkedServiceTypeProperties": {
+ "description": "Impala server linked service properties.",
"properties": {
"host": {
"description": "The IP address or host name of the Impala server. (i.e. 192.168.222.160)",
@@ -2838,38 +3195,38 @@
"description": "Specifies whether to allow self-signed certificates from the server. The default value is false.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"host",
"authenticationType"
- ]
- },
- "JiraLinkedService": {
- "x-ms-discriminator-value": "Jira",
- "description": "Jira Service linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Jira Service linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/JiraLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "JiraLinkedServiceTypeProperties": {
- "description": "Jira Service linked service properties.",
+ ]
+ },
+ "JiraLinkedService": {
+ "x-ms-discriminator-value": "Jira",
+ "description": "Jira Service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Jira Service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/JiraLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "JiraLinkedServiceTypeProperties": {
+ "description": "Jira Service linked service properties.",
"properties": {
"host": {
"description": "The IP address or host name of the Jira service. (e.g. jira.example.com)",
@@ -2899,38 +3256,38 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"host",
"username"
- ]
- },
- "MagentoLinkedService": {
- "x-ms-discriminator-value": "Magento",
- "description": "Magento server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Magento server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/MagentoLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "MagentoLinkedServiceTypeProperties": {
- "description": "Magento server linked service properties.",
+ ]
+ },
+ "MagentoLinkedService": {
+ "x-ms-discriminator-value": "Magento",
+ "description": "Magento server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Magento server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MagentoLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "MagentoLinkedServiceTypeProperties": {
+ "description": "Magento server linked service properties.",
"properties": {
"host": {
"description": "The URL of the Magento instance. (i.e. 192.168.222.110/magento3)",
@@ -2952,36 +3309,36 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"host"
- ]
- },
- "MariaDBLinkedService": {
- "x-ms-discriminator-value": "MariaDB",
- "description": "MariaDB server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "MariaDB server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/MariaDBLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "MariaDBLinkedServiceTypeProperties": {
+ ]
+ },
+ "MariaDBLinkedService": {
+ "x-ms-discriminator-value": "MariaDB",
+ "description": "MariaDB server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "MariaDB server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MariaDBLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "MariaDBLinkedServiceTypeProperties": {
"description": "MariaDB server linked service properties.",
"properties": {
"connectionString": {
@@ -2996,30 +3353,30 @@
"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"
}
- }
- },
- "MarketoLinkedService": {
- "x-ms-discriminator-value": "Marketo",
- "description": "Marketo server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Marketo server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/MarketoLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "MarketoLinkedServiceTypeProperties": {
- "description": "Marketo server linked service properties.",
+ }
+ },
+ "MarketoLinkedService": {
+ "x-ms-discriminator-value": "Marketo",
+ "description": "Marketo server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Marketo server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MarketoLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "MarketoLinkedServiceTypeProperties": {
+ "description": "Marketo server linked service properties.",
"properties": {
"endpoint": {
"description": "The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com)",
@@ -3045,38 +3402,38 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"endpoint",
"clientId"
- ]
- },
- "PaypalLinkedService": {
- "x-ms-discriminator-value": "Paypal",
- "description": "Paypal Service linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Paypal Service linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/PaypalLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "PaypalLinkedServiceTypeProperties": {
- "description": "Paypal Service linked service properties.",
+ ]
+ },
+ "PaypalLinkedService": {
+ "x-ms-discriminator-value": "Paypal",
+ "description": "Paypal Service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Paypal Service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PaypalLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "PaypalLinkedServiceTypeProperties": {
+ "description": "Paypal Service linked service properties.",
"properties": {
"host": {
"description": "The URL of the PayPal instance. (i.e. api.sandbox.paypal.com)",
@@ -3102,38 +3459,38 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"host",
"clientId"
- ]
- },
- "PhoenixLinkedService": {
- "x-ms-discriminator-value": "Phoenix",
- "description": "Phoenix server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Phoenix server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/PhoenixLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "PhoenixLinkedServiceTypeProperties": {
- "description": "Phoenix server linked service properties.",
+ ]
+ },
+ "PhoenixLinkedService": {
+ "x-ms-discriminator-value": "Phoenix",
+ "description": "Phoenix server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Phoenix server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PhoenixLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "PhoenixLinkedServiceTypeProperties": {
+ "description": "Phoenix server linked service properties.",
"properties": {
"host": {
"description": "The IP address or host name of the Phoenix server. (i.e. 192.168.222.160)",
@@ -3188,38 +3545,38 @@
"description": "Specifies whether to allow self-signed certificates from the server. The default value is false.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"host",
"authenticationType"
- ]
- },
- "PrestoLinkedService": {
- "x-ms-discriminator-value": "Presto",
- "description": "Presto server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Presto server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/PrestoLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "PrestoLinkedServiceTypeProperties": {
- "description": "Presto server linked service properties.",
+ ]
+ },
+ "PrestoLinkedService": {
+ "x-ms-discriminator-value": "Presto",
+ "description": "Presto server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Presto server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrestoLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "PrestoLinkedServiceTypeProperties": {
+ "description": "Presto server linked service properties.",
"properties": {
"host": {
"description": "The IP address or host name of the Presto server. (i.e. 192.168.222.160)",
@@ -3281,8 +3638,8 @@
"description": "The local time zone used by the connection. Valid values for this option are specified in the IANA Time Zone Database. The default value is the system time zone.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
@@ -3291,29 +3648,29 @@
"serverVersion",
"catalog",
"authenticationType"
- ]
- },
- "QuickBooksLinkedService": {
- "x-ms-discriminator-value": "QuickBooks",
- "description": "QuickBooks server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "QuickBooks server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/QuickBooksLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "QuickBooksLinkedServiceTypeProperties": {
+ ]
+ },
+ "QuickBooksLinkedService": {
+ "x-ms-discriminator-value": "QuickBooks",
+ "description": "QuickBooks server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "QuickBooks server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QuickBooksLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "QuickBooksLinkedServiceTypeProperties": {
"description": "QuickBooks server linked service properties.",
"properties": {
"endpoint": {
@@ -3356,30 +3713,30 @@
"consumerSecret",
"accessToken",
"accessTokenSecret"
- ]
- },
- "ServiceNowLinkedService": {
- "x-ms-discriminator-value": "ServiceNow",
- "description": "ServiceNow server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "ServiceNow server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ServiceNowLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "ServiceNowLinkedServiceTypeProperties": {
- "description": "ServiceNow server linked service properties.",
+ ]
+ },
+ "ServiceNowLinkedService": {
+ "x-ms-discriminator-value": "ServiceNow",
+ "description": "ServiceNow server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "ServiceNow server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceNowLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "ServiceNowLinkedServiceTypeProperties": {
+ "description": "ServiceNow server linked service properties.",
"properties": {
"endpoint": {
"description": "The endpoint of the ServiceNow server. (i.e. .service-now.com)",
@@ -3425,45 +3782,45 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"endpoint",
"authenticationType"
- ]
- },
- "ShopifyLinkedService": {
- "x-ms-discriminator-value": "Shopify",
- "description": "Shopify Service linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Shopify Service linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ShopifyLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "ShopifyLinkedServiceTypeProperties": {
- "description": "Shopify Service linked service properties.",
+ ]
+ },
+ "ShopifyLinkedService": {
+ "x-ms-discriminator-value": "Shopify",
+ "description": "Shopify Service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
"properties": {
- "host": {
- "description": "The endpoint of the Shopify server. (i.e. mystore.myshopify.com)",
- "type": "object"
- },
- "accessToken": {
- "description": "The API access token that can be used to access Shopify’s data. The token won't expire if it is offline mode.",
+ "typeProperties": {
+ "description": "Shopify Service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ShopifyLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "ShopifyLinkedServiceTypeProperties": {
+ "description": "Shopify Service linked service properties.",
+ "properties": {
+ "host": {
+ "description": "The endpoint of the Shopify server. (i.e. mystore.myshopify.com)",
+ "type": "object"
+ },
+ "accessToken": {
+ "description": "The API access token that can be used to access Shopify’s data. The token won't expire if it is offline mode.",
"$ref": "../datafactory.json#/definitions/SecretBase"
},
"useEncryptedEndpoints": {
@@ -3478,37 +3835,37 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"host"
- ]
- },
- "SparkLinkedService": {
- "x-ms-discriminator-value": "Spark",
- "description": "Spark Server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Spark Server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/SparkLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "SparkLinkedServiceTypeProperties": {
- "description": "Spark Server linked service properties.",
+ ]
+ },
+ "SparkLinkedService": {
+ "x-ms-discriminator-value": "Spark",
+ "description": "Spark Server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Spark Server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SparkLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "SparkLinkedServiceTypeProperties": {
+ "description": "Spark Server linked service properties.",
"properties": {
"host": {
"description": "IP address or host name of the Spark server",
@@ -3590,8 +3947,8 @@
"description": "Specifies whether to allow self-signed certificates from the server. The default value is false.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
@@ -3599,30 +3956,30 @@
"host",
"port",
"authenticationType"
- ]
- },
- "SquareLinkedService": {
- "x-ms-discriminator-value": "Square",
- "description": "Square Service linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Square Service linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/SquareLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "SquareLinkedServiceTypeProperties": {
- "description": "Square Service linked service properties.",
+ ]
+ },
+ "SquareLinkedService": {
+ "x-ms-discriminator-value": "Square",
+ "description": "Square Service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Square Service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SquareLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "SquareLinkedServiceTypeProperties": {
+ "description": "Square Service linked service properties.",
"properties": {
"host": {
"description": "The URL of the Square instance. (i.e. mystore.mysquare.com)",
@@ -3652,8 +4009,8 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
@@ -3661,30 +4018,30 @@
"host",
"clientId",
"redirectUri"
- ]
- },
- "XeroLinkedService": {
- "x-ms-discriminator-value": "Xero",
- "description": "Xero Service linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Xero Service linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/XeroLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "XeroLinkedServiceTypeProperties": {
- "description": "Xero Service linked service properties.",
+ ]
+ },
+ "XeroLinkedService": {
+ "x-ms-discriminator-value": "Xero",
+ "description": "Xero Service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Xero Service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/XeroLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "XeroLinkedServiceTypeProperties": {
+ "description": "Xero Service linked service properties.",
"properties": {
"host": {
"description": "The endpoint of the Xero server. (i.e. api.xero.com)",
@@ -3710,37 +4067,37 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"host"
- ]
- },
- "ZohoLinkedService": {
- "x-ms-discriminator-value": "Zoho",
- "description": "Zoho server linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Zoho server linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ZohoLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "ZohoLinkedServiceTypeProperties": {
- "description": "Zoho server linked service properties.",
+ ]
+ },
+ "ZohoLinkedService": {
+ "x-ms-discriminator-value": "Zoho",
+ "description": "Zoho server linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Zoho server linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ZohoLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "ZohoLinkedServiceTypeProperties": {
+ "description": "Zoho server linked service properties.",
"properties": {
"endpoint": {
"description": "The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private)",
@@ -3762,73 +4119,73 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true.",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"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": {
+ ]
+ },
+ "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. Type: string, SecureString or AzureKeyVaultSecretReference.",
"type": "object"
},
- "pwd": {
- "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference",
- "description": "The Azure key vault secret reference of password in connection string."
- },
+ "pwd": {
+ "$ref": "../datafactory.json#/definitions/AzureKeyVaultSecretReference",
+ "description": "The Azure key vault secret reference of password in connection string."
+ },
"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": {
+ }
+ },
+ "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": {
@@ -3843,30 +4200,30 @@
"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"
}
- }
- },
- "SalesforceMarketingCloudLinkedService": {
- "x-ms-discriminator-value": "SalesforceMarketingCloud",
- "description": "Salesforce Marketing Cloud linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Salesforce Marketing Cloud linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/SalesforceMarketingCloudLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "SalesforceMarketingCloudLinkedServiceTypeProperties": {
- "description": "Salesforce Marketing Cloud linked service properties.",
+ }
+ },
+ "SalesforceMarketingCloudLinkedService": {
+ "x-ms-discriminator-value": "SalesforceMarketingCloud",
+ "description": "Salesforce Marketing Cloud linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Salesforce Marketing Cloud linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SalesforceMarketingCloudLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "SalesforceMarketingCloudLinkedServiceTypeProperties": {
+ "description": "Salesforce Marketing Cloud linked service properties.",
"properties": {
"clientId": {
"description": "The client ID associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).",
@@ -3888,14 +4245,14 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean).",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"clientId"
- ]
+ ]
},
"HDInsightOnDemandLinkedService": {
"x-ms-discriminator-value": "HDInsightOnDemand",
@@ -4229,6 +4586,18 @@
"description": "Type: string (or Expression with resultType string)."
}
},
+ "newClusterDriverNodeType": {
+ "type": "object",
+ "description": "The driver node type for the new cluster. Type: string (or Expression with resultType string)."
+ },
+ "newClusterInitScripts": {
+ "type": "object",
+ "description": "User-defined initialization scripts for the new cluster. Type: array of strings (or Expression with resultType array of strings)."
+ },
+ "newClusterEnableElasticDisk": {
+ "type": "object",
+ "description": "Enable the elastic disk on the new cluster. Type: boolean (or Expression with resultType boolean)."
+ },
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
@@ -4239,28 +4608,28 @@
"accessToken"
]
},
- "ResponsysLinkedService": {
- "x-ms-discriminator-value": "Responsys",
- "description": "Responsys linked service.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/LinkedService"
- }
- ],
- "properties": {
- "typeProperties": {
- "description": "Responsys linked service properties.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ResponsysLinkedServiceTypeProperties"
- }
- },
- "required": [
- "typeProperties"
- ]
- },
- "ResponsysLinkedServiceTypeProperties": {
- "description": "Responsys linked service properties.",
+ "ResponsysLinkedService": {
+ "x-ms-discriminator-value": "Responsys",
+ "description": "Responsys linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Responsys linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ResponsysLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "ResponsysLinkedServiceTypeProperties": {
+ "description": "Responsys linked service properties.",
"properties": {
"endpoint": {
"description": "The endpoint of the Responsys server.",
@@ -4286,15 +4655,303 @@
"description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean).",
"type": "object"
},
- "encryptedCredential": {
- "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
+ "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"
}
},
"required": [
"endpoint",
"clientId"
- ]
+ ]
+ },
+ "DynamicsAXLinkedService": {
+ "x-ms-discriminator-value": "DynamicsAX",
+ "description": "Dynamics AX linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Dynamics AX linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DynamicsAXLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "DynamicsAXLinkedServiceTypeProperties": {
+ "description": "Dynamics AX linked service properties.",
+ "properties": {
+ "url": {
+ "description": "The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData endpoint.",
+ "type": "object"
+ },
+ "servicePrincipalId": {
+ "description": "Specify the application's client ID. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
+ "servicePrincipalKey": {
+ "description": "Specify the application's key. Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. Type: string (or Expression with resultType string).",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "tenant": {
+ "description": "Specify the tenant information (domain name or tenant ID) under which your application resides. Retrieve it by hovering the mouse in the top-right corner of the Azure portal. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
+ "aadResourceId": {
+ "description": "Specify the resource you are requesting authorization. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
+ "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"
+ }
+ },
+ "required": [
+ "url",
+ "servicePrincipalId",
+ "servicePrincipalKey",
+ "tenant",
+ "aadResourceId"
+ ]
+ },
+ "OracleServiceCloudLinkedService": {
+ "x-ms-discriminator-value": "OracleServiceCloud",
+ "description": "Oracle Service Cloud linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Oracle Service Cloud linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OracleServiceCloudLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "OracleServiceCloudLinkedServiceTypeProperties": {
+ "description": "Oracle Service Cloud linked service properties.",
+ "properties": {
+ "host": {
+ "description": "The URL of the Oracle Service Cloud instance.",
+ "type": "object"
+ },
+ "username": {
+ "description": "The user name that you use to access Oracle Service Cloud server.",
+ "type": "object"
+ },
+ "password": {
+ "description": "The password corresponding to the user name that you provided in the username key.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "useEncryptedEndpoints": {
+ "description": "Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).",
+ "type": "object"
+ },
+ "useHostVerification": {
+ "description": "Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean).",
+ "type": "object"
+ },
+ "usePeerVerification": {
+ "description": "Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean).",
+ "type": "object"
+ },
+ "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"
+ }
+ },
+ "required": [
+ "host",
+ "username",
+ "password"
+ ]
+ },
+ "GoogleAdWordsLinkedService": {
+ "x-ms-discriminator-value": "GoogleAdWords",
+ "description": "Google AdWords service linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Google AdWords service linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GoogleAdWordsLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "GoogleAdWordsLinkedServiceTypeProperties": {
+ "description": "Google AdWords service linked service properties.",
+ "properties": {
+ "clientCustomerID": {
+ "description": "The Client customer ID of the AdWords account that you want to fetch report data for.",
+ "type": "object"
+ },
+ "developerToken": {
+ "description": "The developer token associated with the manager account that you use to grant access to the AdWords API.",
+ "$ref": "../datafactory.json#/definitions/SecretBase"
+ },
+ "authenticationType": {
+ "description": "The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR.",
+ "type": "string",
+ "enum": [
+ "ServiceAuthentication",
+ "UserAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "GoogleAdWordsAuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "refreshToken": {
+ "description": "The refresh token obtained from Google for authorizing access to AdWords 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"
+ },
+ "keyFilePath": {
+ "description": "The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR.",
+ "type": "object"
+ },
+ "trustedCertPath": {
+ "description": "The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR.",
+ "type": "object"
+ },
+ "useSystemTrustStore": {
+ "description": "Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false.",
+ "type": "object"
+ },
+ "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"
+ }
+ },
+ "required": [
+ "clientCustomerID",
+ "developerToken",
+ "authenticationType"
+ ]
+ },
+ "AzureDataExplorerLinkedService": {
+ "x-ms-discriminator-value": "AzureDataExplorer",
+ "description": "Azure Data Explorer (Kusto) linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure Data Explorer (Kusto) linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureDataExplorerLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureDataExplorerLinkedServiceTypeProperties": {
+ "description": "Azure Data Explorer (Kusto) linked service properties.",
+ "properties": {
+ "endpoint": {
+ "description": "The endpoint of Azure Data Explorer (the engine's endpoint). URL will be in the format https://..kusto.windows.net. Type: string (or Expression with resultType string)",
+ "type": "object"
+ },
+ "servicePrincipalId": {
+ "type": "object",
+ "description": "The ID of the service principal used to authenticate against Azure Data Explorer. Type: string (or Expression with resultType string)."
+ },
+ "servicePrincipalKey": {
+ "$ref": "../datafactory.json#/definitions/SecretBase",
+ "description": "The key of the service principal used to authenticate against Kusto."
+ },
+ "database": {
+ "type": "object",
+ "description": "Database name for connection. Type: string (or Expression with resultType string)."
+ },
+ "tenant": {
+ "type": "object",
+ "description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "endpoint",
+ "servicePrincipalId",
+ "servicePrincipalKey",
+ "database",
+ "tenant"
+ ]
+ },
+ "AzureFunctionLinkedService": {
+ "x-ms-discriminator-value": "AzureFunction",
+ "description": "Azure Function linked service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LinkedService"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure Function linked service properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFunctionLinkedServiceTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureFunctionLinkedServiceTypeProperties": {
+ "description": "Azure Function linked service properties.",
+ "properties": {
+ "functionAppUrl": {
+ "description": "The endpoint of the Azure Function App. URL will be in the format https://.azurewebsites.net.",
+ "type": "object"
+ },
+ "functionKey": {
+ "description": "Function or Host key for Azure Function App.",
+ "$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"
+ }
+ },
+ "required": [
+ "functionAppUrl"
+ ]
}
}
}
\ No newline at end of file
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
index 45224d1ec626..174878d480ba 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "DataFactoryManagementClient",
- "version": "2017-09-01-preview"
+ "version": "2018-06-01"
},
"paths": {},
"definitions": {
@@ -276,6 +276,14 @@
"redirectIncompatibleRowSettings": {
"description": "Redirect incompatible row settings when EnableSkipIncompatibleRow is true.",
"$ref": "#/definitions/RedirectIncompatibleRowSettings"
+ },
+ "preserveRules":{
+ "type": "array",
+ "items": {
+ "type": "object",
+ "description": "Type: string (or Expression with resultType string)."
+ },
+ "description": "Preserve Rules."
}
},
"required": [
@@ -299,6 +307,10 @@
"sourceRetryWait": {
"type": "object",
"description": "Source retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
+ },
+ "maxConcurrentConnections": {
+ "type": "object",
+ "description": "The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer)."
}
},
"additionalProperties": {
@@ -426,8 +438,711 @@
}
}
},
- "SapCloudForCustomerSource": {
- "description": "A copy activity source for SAP Cloud for Customer source.",
+ "SapCloudForCustomerSource": {
+ "description": "A copy activity source for SAP Cloud for Customer source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "SAP Cloud for Customer OData query. For example, \"$top=1\". Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "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)."
+ }
+ }
+ },
+ "SapOpenHubSource": {
+ "description": "A copy activity source for SAP Business Warehouse Open Hub Destination source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {}
+ },
+ "RestSource": {
+ "description": "A copy activity Rest service source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "httpRequestTimeout": {
+ "type": "object",
+ "description": "The timeout (TimeSpan) to get an HTTP response. It is the timeout to get a response, not the timeout to read response data. Default value: 00:01:40. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
+ },
+ "requestInterval": {
+ "type": "object",
+ "description": "The time to await before sending next page request. "
+ }
+ }
+ },
+ "SqlSource": {
+ "description": "A copy activity SQL source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "sqlReaderQuery": {
+ "type": "object",
+ "description": "SQL reader query. Type: string (or Expression with resultType string)."
+ },
+ "sqlReaderStoredProcedureName": {
+ "type": "object",
+ "description": "Name of the stored procedure for a SQL Database source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression with resultType string)."
+ },
+ "storedProcedureParameters": {
+ "description": "Value and type setting for stored procedure parameters. Example: \"{Parameter1: {value: \"1\", type: \"int\"}}\".",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/StoredProcedureParameter"
+ }
+ }
+ }
+ },
+ "SqlDWSource": {
+ "description": "A copy activity SQL Data Warehouse source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "sqlReaderQuery": {
+ "type": "object",
+ "description": "SQL Data Warehouse reader query. Type: string (or Expression with resultType string)."
+ },
+ "sqlReaderStoredProcedureName": {
+ "type": "object",
+ "description": "Name of the stored procedure for a SQL Data Warehouse source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression with resultType string)."
+ },
+ "storedProcedureParameters": {
+ "type": "object",
+ "description": "Value and type setting for stored procedure parameters. Example: \"{Parameter1: {value: \"1\", type: \"int\"}}\". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter."
+ }
+ }
+ },
+ "FileSystemSource": {
+ "description": "A copy activity file system source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "recursive": {
+ "type": "object",
+ "description": "If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean)."
+ }
+ }
+ },
+ "HdfsSource": {
+ "description": "A copy activity HDFS source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "recursive": {
+ "type": "object",
+ "description": "If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean)."
+ },
+ "distcpSettings": {
+ "description": "Specifies Distcp-related settings.",
+ "$ref": "#/definitions/DistcpSettings"
+ }
+ }
+ },
+ "DistcpSettings": {
+ "description": "Distcp settings.",
+ "type": "object",
+ "properties": {
+ "resourceManagerEndpoint": {
+ "type": "object",
+ "description": "Specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string)."
+ },
+ "tempScriptPath": {
+ "type": "object",
+ "description": "Specifies an existing folder path which will be used to store temp Distcp command script. The script file is generated by ADF and will be removed after Copy job finished. Type: string (or Expression with resultType string)."
+ },
+ "distcpOptions": {
+ "type": "object",
+ "description": "Specifies the Distcp options. Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "resourceManagerEndpoint",
+ "tempScriptPath"
+ ]
+ },
+ "AzureMySqlSource": {
+ "description": "A copy activity Azure MySQL source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "Database query. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "AzureDataExplorerSource": {
+ "description": "A copy activity Azure Data Explorer (Kusto) source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "Database query. Should be a Kusto Query Language (KQL) query. Type: string (or Expression with resultType string)."
+ },
+ "noTruncation": {
+ "type": "object",
+ "description": "The name of the Boolean option that controls whether truncation is applied to result-sets that go beyond a certain row-count limit."
+ },
+ "queryTimeout": {
+ "type": "object",
+ "description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9])).."
+ }
+ },
+ "required": [
+ "query"
+ ]
+ },
+ "OracleSource": {
+ "description": "A copy activity Oracle source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "oracleReaderQuery": {
+ "type": "object",
+ "description": "Oracle reader query. Type: string (or Expression with resultType string)."
+ },
+ "queryTimeout": {
+ "type": "object",
+ "description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
+ }
+ }
+ },
+ "WebSource": {
+ "description": "A copy activity source for web page table.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {}
+ },
+ "CassandraSource": {
+ "description": "A copy activity source for a Cassandra database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "Database query. Should be a SQL-92 query expression or Cassandra Query Language (CQL) command. Type: string (or Expression with resultType string)."
+ },
+ "consistencyLevel": {
+ "description": "The consistency level specifies how many Cassandra servers must respond to a read request before returning data to the client application. Cassandra checks the specified number of Cassandra servers for data to satisfy the read request. Must be one of cassandraSourceReadConsistencyLevels. The default value is 'ONE'. It is case-insensitive.",
+ "type": "string",
+ "enum": [
+ "ALL",
+ "EACH_QUORUM",
+ "QUORUM",
+ "LOCAL_QUORUM",
+ "ONE",
+ "TWO",
+ "THREE",
+ "LOCAL_ONE",
+ "SERIAL",
+ "LOCAL_SERIAL"
+ ],
+ "x-ms-enum": {
+ "name": "CassandraSourceReadConsistencyLevels",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "MongoDbSource": {
+ "description": "A copy activity source for a MongoDB database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "MongoDbV2Source": {
+ "description": "A copy activity source for a MongoDB database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "filter": {
+ "type": "object",
+ "description": "Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string)."
+ },
+ "cursorMethods": {
+ "description": "Cursor methods for Mongodb query",
+ "$ref": "#/definitions/MongoDbCursorMethodsProperties"
+ },
+ "batchSize": {
+ "type": "object",
+ "description": "Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property�s main purpose is to avoid hit the limitation of response size. Type: integer (or Expression with resultType integer)."
+ }
+ }
+ },
+ "CosmosDbMongoDbApiSource": {
+ "description": "A copy activity source for a CosmosDB (MongoDB API) database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "filter": {
+ "type": "object",
+ "description": "Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string)."
+ },
+ "cursorMethods": {
+ "description": "Cursor methods for Mongodb query.",
+ "$ref": "#/definitions/MongoDbCursorMethodsProperties"
+ },
+ "batchSize": {
+ "type": "object",
+ "description": "Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property�s main purpose is to avoid hit the limitation of response size. Type: integer (or Expression with resultType integer)."
+ }
+ }
+ },
+ "MongoDbCursorMethodsProperties": {
+ "description": "Cursor methods for Mongodb query",
+ "type": "object",
+ "properties": {
+ "project": {
+ "type": "object",
+ "description": "Specifies the fields to return in the documents that match the query filter. To return all fields in the matching documents, omit this parameter. Type: string (or Expression with resultType string)."
+ },
+ "sort": {
+ "type": "object",
+ "description": "Specifies the order in which the query returns matching documents. Type: string (or Expression with resultType string). Type: string (or Expression with resultType string)."
+ },
+ "skip": {
+ "type": "object",
+ "description": "Specifies the how many documents skipped and where MongoDB begins returning results. This approach may be useful in implementing paginated results. Type: integer (or Expression with resultType integer)."
+ },
+ "limit": {
+ "type": "object",
+ "description": "Specifies the maximum number of documents the server returns. limit() is analogous to the LIMIT statement in a SQL database. Type: integer (or Expression with resultType integer)."
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "Office365Source": {
+ "description": "A copy activity source for an Office365 service.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {}
+ },
+ "AzureDataLakeStoreSource": {
+ "description": "A copy activity Azure Data Lake source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "recursive": {
+ "type": "object",
+ "description": "If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean)."
+ }
+ }
+ },
+ "AzureBlobFSSource": {
+ "description": "A copy activity Azure BlobFS source.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "treatEmptyAsNull": {
+ "type": "object",
+ "description": "Treat empty as null. Type: boolean (or Expression with resultType boolean)."
+ },
+ "skipHeaderLineCount": {
+ "type": "object",
+ "description": "Number of header lines to skip from each blob. Type: integer (or Expression with resultType integer)."
+ },
+ "recursive": {
+ "type": "object",
+ "description": "If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean)."
+ }
+ }
+ },
+ "HttpSource": {
+ "description": "A copy activity source for an HTTP file.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
+ "properties": {
+ "httpRequestTimeout": {
+ "type": "object",
+ "description": "Specifies the timeout for a HTTP client to get HTTP response from HTTP server. The default value is equivalent to System.Net.HttpWebRequest.Timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
+ }
+ }
+ },
+ "AmazonMWSSource": {
+ "description": "A copy activity Amazon Marketplace Web Service 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)."
+ }
+ }
+ },
+ "AzurePostgreSqlSource": {
+ "description": "A copy activity Azure PostgreSQL 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)."
+ }
+ }
+ },
+ "ConcurSource": {
+ "description": "A copy activity Concur Service 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)."
+ }
+ }
+ },
+ "CouchbaseSource": {
+ "description": "A copy activity Couchbase server 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)."
+ }
+ }
+ },
+ "DrillSource": {
+ "description": "A copy activity Drill server 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)."
+ }
+ }
+ },
+ "EloquaSource": {
+ "description": "A copy activity Eloqua server 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)."
+ }
+ }
+ },
+ "GoogleBigQuerySource": {
+ "description": "A copy activity Google BigQuery service 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)."
+ }
+ }
+ },
+ "GreenplumSource": {
+ "description": "A copy activity Greenplum Database 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)."
+ }
+ }
+ },
+ "HBaseSource": {
+ "description": "A copy activity HBase server 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)."
+ }
+ }
+ },
+ "HiveSource": {
+ "description": "A copy activity Hive Server 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)."
+ }
+ }
+ },
+ "HubspotSource": {
+ "description": "A copy activity Hubspot Service 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)."
+ }
+ }
+ },
+ "ImpalaSource": {
+ "description": "A copy activity Impala server 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)."
+ }
+ }
+ },
+ "JiraSource": {
+ "description": "A copy activity Jira Service 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)."
+ }
+ }
+ },
+ "MagentoSource": {
+ "description": "A copy activity Magento server 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)."
+ }
+ }
+ },
+ "MariaDBSource": {
+ "description": "A copy activity MariaDB server 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)."
+ }
+ }
+ },
+ "MarketoSource": {
+ "description": "A copy activity Marketo server 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)."
+ }
+ }
+ },
+ "PaypalSource": {
+ "description": "A copy activity Paypal Service 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)."
+ }
+ }
+ },
+ "PhoenixSource": {
+ "description": "A copy activity Phoenix server 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)."
+ }
+ }
+ },
+ "PrestoSource": {
+ "description": "A copy activity Presto server 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)."
+ }
+ }
+ },
+ "QuickBooksSource": {
+ "description": "A copy activity QuickBooks server source.",
"type": "object",
"allOf": [
{
@@ -437,12 +1152,12 @@
"properties": {
"query": {
"type": "object",
- "description": "SAP Cloud for Customer OData query. For example, \"$top=1\". Type: string (or Expression with resultType string)."
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "SapEccSource": {
- "description": "A copy activity source for SAP ECC source.",
+ "ServiceNowSource": {
+ "description": "A copy activity ServiceNow server source.",
"type": "object",
"allOf": [
{
@@ -451,13 +1166,13 @@
],
"properties": {
"query": {
- "type": "string",
- "description": "SAP ECC OData query. For example, \"$top=1\". Type: string (or Expression with resultType string)."
+ "type": "object",
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "SqlSource": {
- "description": "A copy activity SQL source.",
+ "ShopifySource": {
+ "description": "A copy activity Shopify Service source.",
"type": "object",
"allOf": [
{
@@ -465,25 +1180,14 @@
}
],
"properties": {
- "sqlReaderQuery": {
- "type": "object",
- "description": "SQL reader query. Type: string (or Expression with resultType string)."
- },
- "sqlReaderStoredProcedureName": {
- "type": "object",
- "description": "Name of the stored procedure for a SQL Database source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression with resultType string)."
- },
- "storedProcedureParameters": {
- "description": "Value and type setting for stored procedure parameters. Example: \"{Parameter1: {value: \"1\", type: \"int\"}}\".",
+ "query": {
"type": "object",
- "additionalProperties": {
- "$ref": "#/definitions/StoredProcedureParameter"
- }
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "SqlDWSource": {
- "description": "A copy activity SQL Data Warehouse source.",
+ "SparkSource": {
+ "description": "A copy activity Spark Server source.",
"type": "object",
"allOf": [
{
@@ -491,22 +1195,14 @@
}
],
"properties": {
- "sqlReaderQuery": {
- "type": "object",
- "description": "SQL Data Warehouse reader query. Type: string (or Expression with resultType string)."
- },
- "sqlReaderStoredProcedureName": {
- "type": "object",
- "description": "Name of the stored procedure for a SQL Data Warehouse source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression with resultType string)."
- },
- "storedProcedureParameters": {
+ "query": {
"type": "object",
- "description": "Value and type setting for stored procedure parameters. Example: \"{Parameter1: {value: \"1\", type: \"int\"}}\". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter."
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "FileSystemSource": {
- "description": "A copy activity file system source.",
+ "SquareSource": {
+ "description": "A copy activity Square Service source.",
"type": "object",
"allOf": [
{
@@ -514,14 +1210,14 @@
}
],
"properties": {
- "recursive": {
+ "query": {
"type": "object",
- "description": "If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean)."
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "HdfsSource": {
- "description": "A copy activity HDFS source.",
+ "XeroSource": {
+ "description": "A copy activity Xero Service source.",
"type": "object",
"allOf": [
{
@@ -529,40 +1225,29 @@
}
],
"properties": {
- "recursive": {
+ "query": {
"type": "object",
- "description": "If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean)."
- },
- "distcpSettings": {
- "description": "Specifies Distcp-related settings.",
- "$ref": "#/definitions/DistcpSettings"
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "DistcpSettings": {
- "description": "Distcp settings.",
+ "ZohoSource": {
+ "description": "A copy activity Zoho server source.",
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySource"
+ }
+ ],
"properties": {
- "resourceManagerEndpoint": {
- "type": "object",
- "description": "Specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string)."
- },
- "tempScriptPath": {
- "type": "object",
- "description": "Specifies an existing folder path which will be used to store temp Distcp command script. The script file is generated by ADF and will be removed after Copy job finished. Type: string (or Expression with resultType string)."
- },
- "distcpOptions": {
+ "query": {
"type": "object",
- "description": "Specifies the Distcp options. Type: string (or Expression with resultType string)."
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
- },
- "required": [
- "resourceManagerEndpoint",
- "tempScriptPath"
- ]
+ }
},
- "AzureMySqlSource": {
- "description": "A copy activity Azure MySQL source.",
+ "NetezzaSource": {
+ "description": "A copy activity Netezza source.",
"type": "object",
"allOf": [
{
@@ -572,12 +1257,12 @@
"properties": {
"query": {
"type": "object",
- "description": "Database query. Type: string (or Expression with resultType string)."
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "OracleSource": {
- "description": "A copy activity Oracle source.",
+ "VerticaSource": {
+ "description": "A copy activity Vertica source.",
"type": "object",
"allOf": [
{
@@ -585,28 +1270,29 @@
}
],
"properties": {
- "oracleReaderQuery": {
- "type": "object",
- "description": "Oracle reader query. Type: string (or Expression with resultType string)."
- },
- "queryTimeout": {
+ "query": {
"type": "object",
- "description": "Query timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "WebSource": {
- "description": "A copy activity source for web page table.",
+ "SalesforceMarketingCloudSource": {
+ "description": "A copy activity Salesforce Marketing Cloud source.",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/CopySource"
}
],
- "properties": {}
+ "properties": {
+ "query": {
+ "type": "object",
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
+ }
+ }
},
- "CassandraSource": {
- "description": "A copy activity source for a Cassandra database.",
+ "ResponsysSource": {
+ "description": "A copy activity Responsys source.",
"type": "object",
"allOf": [
{
@@ -616,32 +1302,12 @@
"properties": {
"query": {
"type": "object",
- "description": "Database query. Should be a SQL-92 query expression or Cassandra Query Language (CQL) command. Type: string (or Expression with resultType string)."
- },
- "consistencyLevel": {
- "description": "The consistency level specifies how many Cassandra servers must respond to a read request before returning data to the client application. Cassandra checks the specified number of Cassandra servers for data to satisfy the read request. Must be one of cassandraSourceReadConsistencyLevels. The default value is 'ONE'. It is case-insensitive.",
- "type": "string",
- "enum": [
- "ALL",
- "EACH_QUORUM",
- "QUORUM",
- "LOCAL_QUORUM",
- "ONE",
- "TWO",
- "THREE",
- "LOCAL_ONE",
- "SERIAL",
- "LOCAL_SERIAL"
- ],
- "x-ms-enum": {
- "name": "CassandraSourceReadConsistencyLevels",
- "modelAsString": true
- }
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "MongoDbSource": {
- "description": "A copy activity source for a MongoDB database.",
+ "DynamicsAXSource": {
+ "description": "A copy activity Dynamics AX source.",
"type": "object",
"allOf": [
{
@@ -651,12 +1317,12 @@
"properties": {
"query": {
"type": "object",
- "description": "Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string)."
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "AzureDataLakeStoreSource": {
- "description": "A copy activity Azure Data Lake source.",
+ "OracleServiceCloudSource": {
+ "description": "A copy activity Oracle Service Cloud source.",
"type": "object",
"allOf": [
{
@@ -664,14 +1330,14 @@
}
],
"properties": {
- "recursive": {
+ "query": {
"type": "object",
- "description": "If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean)."
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "HttpSource": {
- "description": "A copy activity source for an HTTP file.",
+ "GoogleAdWordsSource": {
+ "description": "A copy activity Google AdWords service source.",
"type": "object",
"allOf": [
{
@@ -679,462 +1345,12 @@
}
],
"properties": {
- "httpRequestTimeout": {
+ "query": {
"type": "object",
- "description": "Specifies the timeout for a HTTP client to get HTTP response from HTTP server. The default value is equivalent to System.Net.HttpWebRequest.Timeout. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
+ "description": "A query to retrieve data from source. Type: string (or Expression with resultType string)."
}
}
},
- "AmazonMWSSource": {
- "description": "A copy activity Amazon Marketplace Web Service 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)."
- }
- }
- },
- "AzurePostgreSqlSource": {
- "description": "A copy activity Azure PostgreSQL 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)."
- }
- }
- },
- "ConcurSource": {
- "description": "A copy activity Concur Service 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)."
- }
- }
- },
- "CouchbaseSource": {
- "description": "A copy activity Couchbase server 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)."
- }
- }
- },
- "DrillSource": {
- "description": "A copy activity Drill server 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)."
- }
- }
- },
- "EloquaSource": {
- "description": "A copy activity Eloqua server 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)."
- }
- }
- },
- "GoogleBigQuerySource": {
- "description": "A copy activity Google BigQuery service 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)."
- }
- }
- },
- "GreenplumSource": {
- "description": "A copy activity Greenplum Database 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)."
- }
- }
- },
- "HBaseSource": {
- "description": "A copy activity HBase server 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)."
- }
- }
- },
- "HiveSource": {
- "description": "A copy activity Hive Server 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)."
- }
- }
- },
- "HubspotSource": {
- "description": "A copy activity Hubspot Service 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)."
- }
- }
- },
- "ImpalaSource": {
- "description": "A copy activity Impala server 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)."
- }
- }
- },
- "JiraSource": {
- "description": "A copy activity Jira Service 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)."
- }
- }
- },
- "MagentoSource": {
- "description": "A copy activity Magento server 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)."
- }
- }
- },
- "MariaDBSource": {
- "description": "A copy activity MariaDB server 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)."
- }
- }
- },
- "MarketoSource": {
- "description": "A copy activity Marketo server 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)."
- }
- }
- },
- "PaypalSource": {
- "description": "A copy activity Paypal Service 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)."
- }
- }
- },
- "PhoenixSource": {
- "description": "A copy activity Phoenix server 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)."
- }
- }
- },
- "PrestoSource": {
- "description": "A copy activity Presto server 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)."
- }
- }
- },
- "QuickBooksSource": {
- "description": "A copy activity QuickBooks server 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)."
- }
- }
- },
- "ServiceNowSource": {
- "description": "A copy activity ServiceNow server 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)."
- }
- }
- },
- "ShopifySource": {
- "description": "A copy activity Shopify Service 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)."
- }
- }
- },
- "SparkSource": {
- "description": "A copy activity Spark Server 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)."
- }
- }
- },
- "SquareSource": {
- "description": "A copy activity Square Service 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)."
- }
- }
- },
- "XeroSource": {
- "description": "A copy activity Xero Service 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)."
- }
- }
- },
- "ZohoSource": {
- "description": "A copy activity Zoho server 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)."
- }
- }
- },
- "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)."
- }
- }
- },
- "SalesforceMarketingCloudSource": {
- "description": "A copy activity Salesforce Marketing Cloud 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)."
- }
- }
- },
- "ResponsysSource": {
- "description": "A copy activity Responsys 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",
@@ -1226,6 +1442,10 @@
"sinkRetryWait": {
"type": "object",
"description": "Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
+ },
+ "maxConcurrentConnections": {
+ "type": "object",
+ "description": "The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer)."
}
},
"additionalProperties": {
@@ -1549,6 +1769,21 @@
}
}
},
+ "AzureBlobFSSink": {
+ "description": "A copy activity Azure Data Lake Storage Gen2 sink.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySink"
+ }
+ ],
+ "properties": {
+ "copyBehavior": {
+ "description": "The type of copy behavior for copy sink.",
+ "$ref": "#/definitions/CopyBehaviorType"
+ }
+ }
+ },
"AzureSearchIndexSink": {
"description": "A copy activity Azure Search Index sink.",
"type": "object",
@@ -1616,6 +1851,29 @@
"writeBehavior"
]
},
+ "AzureDataExplorerSink": {
+ "description": "A copy activity Azure Data Explorer sink.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySink"
+ }
+ ],
+ "properties": {
+ "ingestionMappingName": {
+ "type": "object",
+ "description": "A name of a pre-created csv mapping that was defined on the target Kusto table. Type: string."
+ },
+ "ingestionMappingAsJson": {
+ "type": "object",
+ "description": "An explicit column mapping description provided in a json format. Type: string."
+ },
+ "flushImmediately": {
+ "type": "object",
+ "description": "If set to true, any aggregation will be skipped. Default is false. Type: boolean."
+ }
+ }
+ },
"SalesforceSink": {
"description": "A copy activity Salesforce sink.",
"type": "object",
@@ -1647,6 +1905,21 @@
}
}
},
+ "CosmosDbMongoDbApiSink": {
+ "description": "A copy activity sink for a CosmosDB (MongoDB API) database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySink"
+ }
+ ],
+ "properties": {
+ "writeBehavior": {
+ "type": "object",
+ "description": "Specifies whether the document with same key to be overwritten (upsert) rather than throw exception (insert). The default value is \"insert\". Type: string (or Expression with resultType string). Type: string (or Expression with resultType string)."
+ }
+ }
+ },
"CopyTranslator": {
"discriminator": "type",
"description": "A copy activity translator.",
@@ -1680,6 +1953,10 @@
"schemaMapping": {
"type": "object",
"description": "The schema mapping to map between tabular data and hierarchical data. Example: {\"Column1\": \"$.Column1\", \"Column2\": \"$.Column2.Property1\", \"Column3\": \"$.Column2.Property2\"}. Type: object (or Expression with resultType object)."
+ },
+ "collectionReference": {
+ "type": "object",
+ "description": "The JSON Path of the Nested Array that is going to do cross-apply. Type: object (or Expression with resultType object)."
}
}
},
@@ -1750,7 +2027,7 @@
},
"queryTimeout": {
"type": "integer",
- "description": "Query timeout value (in minutes). Effective when the HDInsight culster is with ESP (Enterprise Security Package)"
+ "description": "Query timeout value (in minutes). Effective when the HDInsight cluster is with ESP (Enterprise Security Package)"
}
}
},
@@ -2094,24 +2371,20 @@
"$ref": "#/definitions/SSISPackageLocation"
},
"runtime": {
- "description": "Specifies the runtime to execute SSIS package.",
- "type": "string",
- "enum": [
- "x64",
- "x86"
- ],
- "x-ms-enum": {
- "name": "SSISExecutionRuntime",
- "modelAsString": true
- }
+ "description": "Specifies the runtime to execute SSIS package. The value should be \"x86\" or \"x64\". Type: string (or Expression with resultType string).",
+ "type": "object"
},
"loggingLevel": {
- "description": "The logging level of SSIS package execution.",
- "type": "string"
+ "description": "The logging level of SSIS package execution. Type: string (or Expression with resultType string).",
+ "type": "object"
},
"environmentPath": {
- "description": "The environment path to execute the SSIS package.",
- "type": "string"
+ "description": "The environment path to execute the SSIS package. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
+ "executionCredential": {
+ "description": "The package execution credential.",
+ "$ref": "#/definitions/SSISExecutionCredential"
},
"connectVia": {
"description": "The integration runtime reference.",
@@ -2160,11 +2433,11 @@
},
"SSISPackageLocation": {
"description": "SSIS package location.",
- "type" : "object",
+ "type": "object",
"properties": {
"packagePath": {
- "description": "The SSIS package path.",
- "type": "string"
+ "description": "The SSIS package path. Type: string (or Expression with resultType string).",
+ "type": "object"
}
},
"required": [
@@ -2208,6 +2481,29 @@
"value"
]
},
+ "SSISExecutionCredential": {
+ "description": "SSIS package execution credential.",
+ "type": "object",
+ "properties": {
+ "domain": {
+ "type": "object",
+ "description": "Domain for windows authentication."
+ },
+ "userName": {
+ "type": "object",
+ "description": "UseName for windows authentication."
+ },
+ "password": {
+ "$ref": "../datafactory.json#/definitions/SecureString",
+ "description": "Password for windows authentication."
+ }
+ },
+ "required": [
+ "domain",
+ "userName",
+ "password"
+ ]
+ },
"CustomActivity": {
"description": "Custom activity type.",
"x-ms-discriminator-value": "Custom",
@@ -2253,6 +2549,10 @@
"type": "object",
"description": "Type: string (or Expression with resultType string)."
}
+ },
+ "retentionTimeInDays": {
+ "type": "object",
+ "description": "The retention time for the files submitted for custom activity. Type: double (or Expression with resultType double)."
}
},
"required": [
@@ -2382,16 +2682,16 @@
"type": "object",
"description": "If true, files or sub-folders under current folder path will be deleted recursively. Default is false. Type: boolean (or Expression with resultType boolean)."
},
- "maxConcurrentConnections":{
+ "maxConcurrentConnections": {
"type": "integer",
"minimum": 1,
"description": "The max concurrent connections to connect data source at the same time."
},
- "enableLogging":{
- "type":"object",
+ "enableLogging": {
+ "type": "object",
"description": "Whether to record detailed logs of delete-activity execution. Default value is false. Type: boolean (or Expression with resultType boolean)."
},
- "logStorageSettings":{
+ "logStorageSettings": {
"description": "Log storage settings customer need to provide when enableLogging is true.",
"$ref": "#/definitions/LogStorageSettings"
},
@@ -3168,6 +3468,67 @@
"type": "object"
}
}
+ },
+ "AzureFunctionActivityMethod": {
+ "description": "The list of HTTP methods supported by a AzureFunctionActivity.",
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST",
+ "PUT",
+ "DELETE",
+ "OPTIONS",
+ "HEAD",
+ "TRACE"
+ ],
+ "x-ms-enum": {
+ "name": "AzureFunctionActivityMethod",
+ "modelAsString": true
+ }
+ },
+ "AzureFunctionActivity": {
+ "x-ms-discriminator-value": "AzureFunctionActivity",
+ "description": "Azure Function activity.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ExecutionActivity"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Azure Function activity properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFunctionActivityTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzureFunctionActivityTypeProperties": {
+ "description": "Azure Function activity type properties.",
+ "properties": {
+ "method": {
+ "description": "Rest API method for target endpoint.",
+ "$ref": "#/definitions/AzureFunctionActivityMethod"
+ },
+ "functionName": {
+ "type": "object",
+ "description": "Name of the Function that the Azure Function Activity will call. Type: string (or Expression with resultType string)"
+ },
+ "headers": {
+ "type": "object",
+ "description": "Represents the headers that will be sent to the request. For example, to set the language and type on a request: \"headers\" : { \"Accept-Language\": \"en-us\", \"Content-Type\": \"application/json\" }. Type: string (or Expression with resultType string)."
+ },
+ "body": {
+ "type": "object",
+ "description": "Represents the payload that will be sent to the endpoint. Required for POST/PUT method, not allowed for GET method Type: string (or Expression with resultType string)."
+ }
+ },
+ "required": [
+ "method",
+ "functionName"
+ ]
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
index 7b9b775d38da..d0671194aa21 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "DataFactoryManagementClient",
- "version": "2017-09-01-preview"
+ "version": "2018-06-01"
},
"paths": {},
"definitions": {
@@ -23,6 +23,13 @@
"$ref": "#/definitions/TriggerRuntimeState",
"description": "Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger.",
"readOnly": true
+ },
+ "annotations": {
+ "description": "List of tags that can be used for describing the trigger.",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
}
},
"additionalProperties": {
@@ -275,8 +282,7 @@
"typeProperties"
]
},
- "BlobEventsTrigger":
- {
+ "BlobEventsTrigger": {
"description": "Trigger that runs every time a Blob event occurs.",
"type": "object",
"allOf": [
@@ -285,8 +291,7 @@
}
],
"properties": {
- "typeProperties":
- {
+ "typeProperties": {
"description": "Blob Events Trigger properties.",
"x-ms-client-flatten": true,
"properties": {
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/Datasets_Create.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/Datasets_Create.json
index fb0244650aa1..83402fbecceb 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/Datasets_Create.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/Datasets_Create.json
@@ -52,6 +52,18 @@
"type": "Microsoft.DataFactory/factories/datasets",
"properties": {
"type": "AzureBlob",
+ "schema": [
+ {
+ "name": "col1",
+ "type": "INT_32"
+ },
+ {
+ "name": "col2",
+ "type": "Decimal",
+ "precision": "38",
+ "scale": "2"
+ }
+ ],
"typeProperties": {
"folderPath": {
"value": "@dataset().MyFolderPath",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ExposureControl_GetFeatureValue.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ExposureControl_GetFeatureValue.json
new file mode 100644
index 000000000000..53b0f29b7463
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ExposureControl_GetFeatureValue.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "locationId": "WestEurope",
+ "exposureControlRequest": {
+ "featureName": "ADFIntegrationRuntimeSharingRbac",
+ "featureType": "Feature"
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Sat, 22 Dec 2018 09:46:07 GMT",
+ "X-Content-Type-Options": "nosniff"
+ },
+ "body": {
+ "featureName": "ADFIntegrationRuntimeSharingRbac",
+ "value": "False"
+ }
+ }
+ }
+}
\ No newline at end of file
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 dedc81e58f54..b39df026fa5c 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
@@ -3929,6 +3929,10 @@
"type": "string",
"format": "date-time",
"description": "the creation time of the table fragment."
+ },
+ "streamPath": {
+ "type": "string",
+ "description": "the relative path for the table fragment location."
}
},
"description": "A Data Lake Analytics catalog U-SQL table fragment item."
diff --git a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableFragments.json b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableFragments.json
index f119f573ed26..9147f8d936ef 100644
--- a/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableFragments.json
+++ b/specification/datalake-analytics/data-plane/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/Catalog_ListTableFragments.json
@@ -23,7 +23,8 @@
"indexId": 1,
"size": 33786,
"rowCount": 1,
- "createDate": "2017-10-11T06:38:31.567-07:00"
+ "createDate": "2017-10-11T06:38:31.567-07:00",
+ "streamPath":"catalog/database/86bf2a20-b511-48c8-91c5-1f73c4c0ec74/schema/b83d3be1-9e11-40b7-85f9-ad823efe2414/table/1e666ab1-d6f0-4990-8180-1a6160caf405/91193f18-06dd-47a2-96fa-2cca3b4777e1.ss"
}]
}
}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json
index e53d4fade7bc..33d8ccd6428b 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json
@@ -96,6 +96,59 @@
"MigrateSyncCompleteCommandOutput": {
"type": "object",
"description": "Output for command that completes sync migration for a database.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "errors": {
+ "description": "List of errors that happened during the command execution",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MigrateMISyncCompleteCommandProperties": {
+ "x-ms-discriminator-value": "Migrate.SqlServer.AzureDbSqlMi.Complete",
+ "type": "object",
+ "description": "Properties for the command that completes online migration for an Azure SQL Database Managed Instance.",
+ "properties": {
+ "input": {
+ "description": "Command input",
+ "$ref": "#/definitions/MigrateMISyncCompleteCommandInput"
+ },
+ "output": {
+ "description": "Command output. This is ignored if submitted.",
+ "$ref": "#/definitions/MigrateMISyncCompleteCommandOutput",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommandProperties"
+ }
+ ]
+ },
+ "MigrateMISyncCompleteCommandInput": {
+ "type": "object",
+ "description": "Input for command that completes online migration for an Azure SQL Database Managed Instance.",
+ "properties": {
+ "sourceDatabaseName": {
+ "description": "Name of managed instance database",
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceDatabaseName"
+ ]
+ },
+ "MigrateMISyncCompleteCommandOutput": {
+ "type": "object",
+ "description": "Output for command that completes online migration for an Azure SQL Database Managed Instance.",
"properties": {
"errors": {
"description": "List of errors that happened during the command execution",
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json
index 25a341d55f38..9330c766a5a6 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json
@@ -317,7 +317,7 @@
},
"platform": {
"$ref": "#/definitions/SqlServerSourcePlatform",
- "description": "Server platform type for connection"
+ "description": "Server platform type for connection"
}
},
"required": [
@@ -332,7 +332,7 @@
],
"x-ms-enum": {
"name": "SqlSourcePlatform",
- "modelAsString": true
+ "modelAsString": true
}
},
"MySqlConnectionInfo": {
@@ -359,8 +359,8 @@
"port"
]
},
- "PostgreSqlConnectionInfo": {
- "x-ms-discriminator-value": "PostgreSqlConnectionInfo",
+ "PostgreSqlConnectionInfo": {
+ "x-ms-discriminator-value": "PostgreSqlConnectionInfo",
"type": "object",
"description": "Information for connecting to PostgreSQL server",
"properties": {
@@ -386,11 +386,12 @@
"serverName",
"port"
]
- },
+ },
"MySqlTargetPlatform": {
"type": "string",
"description": "An enumeration of possible target types when migrating from MySQL",
"enum": [
+ "SqlServer",
"AzureDbForMySQL"
],
"x-ms-enum": {
@@ -408,9 +409,170 @@
"MigrationFromMySQLToAzureDBForMySQL"
],
"x-ms-enum": {
- "name": "ServerLevelPermissionsGroup",
+ "name": "ServerLevelPermissionsGroup"
+ }
+ },
+ "AzureActiveDirectoryApp": {
+ "type": "object",
+ "description": "Azure Active Directory Application",
+ "properties": {
+ "applicationId": {
+ "type": "string",
+ "description": "Application ID of the Azure Active Directory Application"
+ },
+ "appKey": {
+ "type": "string",
+ "description": "Key used to authenticate to the Azure Active Directory Application"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "Tenant id of the customer"
+ }
+ },
+ "required": [
+ "applicationId",
+ "appKey",
+ "tenantId"
+ ]
+ },
+ "MiSqlConnectionInfo": {
+ "x-ms-discriminator-value": "MiSqlConnectionInfo",
+ "type": "object",
+ "description": "Properties required to create a connection to Azure SQL database Managed instance",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ }
+ ],
+ "properties": {
+ "managedInstanceResourceId": {
+ "type": "string",
+ "description": "Resource id for Azure SQL database Managed instance"
+ }
+ },
+ "required": [
+ "managedInstanceResourceId"
+ ]
+ },
+ "BackupSetInfo": {
+ "type": "object",
+ "description": "Information of backup set",
+ "properties": {
+ "backupSetId": {
+ "type": "string",
+ "description": "Id for the set of backup files"
+ },
+ "firstLsn": {
+ "type": "string",
+ "description": "First log sequence number of the backup file"
+ },
+ "lastLsn": {
+ "type": "string",
+ "description": "Last log sequence number of the backup file"
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last modified time of the backup file in share location"
+ },
+ "backupType": {
+ "$ref": "#/definitions/BackupType",
+ "description": "Enum of the different backup types"
+ },
+ "listOfBackupFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupFileInfo"
+ },
+ "description": "List of files in the backup set"
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database to which the backup set belongs"
+ },
+ "backupStartDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time that the backup operation began"
+ },
+ "backupFinishedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time that the backup operation finished"
+ },
+ "isBackupRestored": {
+ "type": "boolean",
+ "description": "Whether the backup set is restored or not"
+ }
+ },
+ "readOnly": true
+ },
+ "BackupType": {
+ "type": "string",
+ "description": "Enum of the different backup types.",
+ "enum": [
+ "Database",
+ "TransactionLog",
+ "File",
+ "DifferentialDatabase",
+ "DifferentialFile",
+ "Partial",
+ "DifferentialPartial"
+ ],
+ "x-ms-enum": {
+ "name": "BackupType",
+ "modelAsString": true
+ }
+ },
+ "BackupFileInfo": {
+ "type": "object",
+ "description": "Information of the backup file",
+ "properties": {
+ "fileLocation": {
+ "type": "string",
+ "description": "Location of the backup file in shared folder"
+ },
+ "familySequenceNumber": {
+ "type": "integer",
+ "description": "Sequence number of the backup file in the backup set"
+ },
+ "status": {
+ "$ref": "#/definitions/BackupFileStatus",
+ "description": "Status of the backup file during migration"
+ }
+ },
+ "readOnly": true
+ },
+ "BackupFileStatus": {
+ "type": "string",
+ "description": "An enumeration of Status of the log backup file.",
+ "enum": [
+ "Arrived",
+ "Queued",
+ "Uploading",
+ "Uploaded",
+ "Restoring",
+ "Restored",
+ "Cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "BackupFileStatus",
"modelAsString": true
}
+ },
+ "OrphanedUserInfo": {
+ "type": "object",
+ "description": "Information of orphaned users on the SQL server database.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the orphaned user"
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "Parent database of the user"
+ }
+ }
}
}
}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json
new file mode 100644
index 000000000000..3ca21da2dff4
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json
@@ -0,0 +1,71 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-07-15-preview"
+ },
+ "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": {
+ "ConnectToSourcePostgreSqlSyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates connection to PostgreSQL and source server requirements",
+ "properties": {
+ "sourceConnectionInfo": {
+ "description": "Connection information for source PostgreSQL server",
+ "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ]
+ },
+ "ConnectToSourcePostgreSqlSyncTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that validates connection to PostgreSQL and source server requirements",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "sourceServerVersion": {
+ "type": "string",
+ "description": "Version of the source server",
+ "readOnly": true
+ },
+ "databases": {
+ "type": "array",
+ "description": "List of databases on source server",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "sourceServerBrandVersion": {
+ "type": "string",
+ "description": "Source server brand version",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors associated with the task",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json
new file mode 100644
index 000000000000..4b5d6d290d0f
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json
@@ -0,0 +1,76 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-07-15-preview"
+ },
+ "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": {
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements",
+ "properties": {
+ "sourceConnectionInfo": {
+ "description": "Connection information for source PostgreSQL server",
+ "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo"
+ },
+ "targetConnectionInfo": {
+ "description": "Connection information for target Azure Database for PostgreSQL server",
+ "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ]
+ },
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Version of the target server",
+ "readOnly": true
+ },
+ "databases": {
+ "type": "array",
+ "description": "List of databases on target server",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "targetServerBrandVersion": {
+ "type": "string",
+ "description": "Target server brand version",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors associated with the task",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json
new file mode 100644
index 000000000000..8289213fcd21
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json
@@ -0,0 +1,63 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-07-15-preview"
+ },
+ "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": {
+ "ConnectToTargetSqlMISyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario.",
+ "properties": {
+ "targetConnectionInfo": {
+ "$ref": "./Common.json#/definitions/MiSqlConnectionInfo",
+ "description": "Connection information for Azure SQL Database Managed Instance"
+ },
+ "azureApp": {
+ "description" : "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account",
+ "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp"
+ }
+ },
+ "required": [
+ "targetConnectionInfo",
+ "azureApp"
+ ]
+ },
+ "ConnectToTargetSqlMISyncTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that validates connection to Azure SQL Database Managed Instance.",
+ "properties": {
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Target server version",
+ "readOnly": true
+ },
+ "targetServerBrandVersion": {
+ "type": "string",
+ "description": "Target server brand version",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json
index 2c588bdc5f45..1b17b6440d70 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json
@@ -333,6 +333,27 @@
"targetDatabaseName": {
"type": "string",
"description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "migrationSetting": {
+ "type": "object",
+ "description": "Migration settings which tune the migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sourceSetting": {
+ "type": "object",
+ "description": "Source settings to tune source endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetSetting": {
+ "type": "object",
+ "description": "Target settings to tune target endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
}
}
}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json
index 510011b864ba..ba74ceddaafd 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json
@@ -336,6 +336,27 @@
"targetDatabaseName": {
"type": "string",
"description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "migrationSetting": {
+ "type": "object",
+ "description": "Migration settings which tune the migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sourceSetting": {
+ "type": "object",
+ "description": "Source settings to tune source endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetSetting": {
+ "type": "object",
+ "description": "Target settings to tune target endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
}
}
}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json
index f91c175ab0ef..5e213067b488 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json
@@ -139,11 +139,11 @@
},
"readOnly": true
},
- "orphanedUsers": {
- "type": "string",
- "description": "Map of users to database name of orphaned users.",
- "additionalProperties": {
- "type": "string"
+ "orphanedUsersInfo": {
+ "type": "array",
+ "description": "List of orphaned users.",
+ "items": {
+ "$ref": "./Common.json#/definitions/OrphanedUserInfo"
},
"readOnly": true
},
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json
new file mode 100644
index 000000000000..9febcfab16e1
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json
@@ -0,0 +1,212 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-07-15-preview"
+ },
+ "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": {
+ "MigrateSqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.",
+ "allOf": [
+ {
+ "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMISyncTaskOutput": {
+ "type": "object",
+ "description": "Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance using Log Replay Service.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "resultType": {
+ "description": "Result type",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "resultType"
+ },
+ "MigrateSqlServerSqlMISyncTaskOutputMigrationLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "MigrationLevelOutput",
+ "properties": {
+ "databaseCount": {
+ "type": "integer",
+ "description": "Count of databases",
+ "readOnly": true
+ },
+ "state": {
+ "$ref": "TasksCommon.json#/definitions/MigrationState",
+ "description": "Current state of migration",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "sourceServerName": {
+ "type": "string",
+ "description": "Source server name",
+ "readOnly": true
+ },
+ "sourceServerVersion": {
+ "type": "string",
+ "description": "Source server version",
+ "readOnly": true
+ },
+ "sourceServerBrandVersion": {
+ "type": "string",
+ "description": "Source server brand version",
+ "readOnly": true
+ },
+ "targetServerName": {
+ "type": "string",
+ "description": "Target server name",
+ "readOnly": true
+ },
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Target server version",
+ "readOnly": true
+ },
+ "targetServerBrandVersion": {
+ "type": "string",
+ "description": "Target server brand version",
+ "readOnly": true
+ },
+ "databaseErrorCount": {
+ "type": "integer",
+ "description": "Number of database level errors",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "DatabaseLevelOutput",
+ "properties": {
+ "sourceDatabaseName": {
+ "type": "string",
+ "description": "Name of the database",
+ "readOnly": true
+ },
+ "migrationState": {
+ "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationState",
+ "description": "Current state of database",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Database migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Database migration end time",
+ "readOnly": true
+ },
+ "fullBackupSetInfo": {
+ "type": "object",
+ "description": "Details of full backup set",
+ "$ref": "Common.json#/definitions/BackupSetInfo",
+ "readOnly": true
+ },
+ "lastRestoredBackupSetInfo":{
+ "type": "object",
+ "description": "Last applied backup set information",
+ "$ref": "Common.json#/definitions/BackupSetInfo",
+ "readOnly": true
+ },
+ "activeBackupSets":{
+ "description": "Backup sets that are currently active (Either being uploaded or getting restored)",
+ "type": "array",
+ "items": {
+ "$ref": "Common.json#/definitions/BackupSetInfo"
+ },
+ "readOnly": true
+ },
+ "containerName": {
+ "description": "Name of container created in the Azure Storage account where backups are copied to",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorPrefix": {
+ "description": "prefix string to use for querying errors for this database",
+ "type": "string",
+ "readOnly": true
+ },
+ "isFullBackupRestored": {
+ "description": "Whether full backup has been applied to the target database or not",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "exceptionsAndWarnings": {
+ "description": "Migration exceptions and warnings",
+ "type": "array",
+ "items": {
+ "$ref": "Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMISyncTaskOutputError": {
+ "type": "object",
+ "x-ms-discriminator-value": "ErrorOutput",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the exception",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "Common.json#/definitions/ReportableException",
+ "description": "Migration error",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json
index dd4ec856c195..8496860bbae8 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json
@@ -1,7 +1,7 @@
{
"swagger": "2.0",
"info": {
- "title": "Azure Data Migration Service Resource Provider",
+ "title": "Azure Database Migration Service Resource Provider",
"version": "2018-07-15-preview"
},
"securityDefinitions": {
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json
index 7ad603981325..194a7e9647f9 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json
@@ -178,6 +178,30 @@
"$ref": "#/definitions/ProjectTaskProperties"
}
]
+ },
+ "ConnectToSourcePostgreSqlSyncTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToSource.PostgreSql.Sync",
+ "type": "object",
+ "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
},
"ConnectToTargetSqlDbTaskProperties": {
"x-ms-discriminator-value": "ConnectToTarget.SqlDb",
@@ -226,6 +250,30 @@
"$ref": "#/definitions/ProjectTaskProperties"
}
]
+ },
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToTarget.AzureDbForPostgreSql.Sync",
+ "type": "object",
+ "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
},
"GetUserTablesSqlTaskProperties": {
"x-ms-discriminator-value": "GetUserTables.Sql",
@@ -298,6 +346,30 @@
"$ref": "#/definitions/ProjectTaskProperties"
}
]
+ },
+ "ConnectToTargetSqlMISyncTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI.Sync.LRS",
+ "type": "object",
+ "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
},
"ConnectToTargetAzureDbForMySqlTaskProperties": {
"x-ms-discriminator-value": "ConnectToTarget.AzureDbForMySql",
@@ -368,6 +440,30 @@
"$ref": "#/definitions/ProjectTaskProperties"
}
]
+ },
+ "MigrateSqlServerSqlMISyncTaskProperties": {
+ "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS",
+ "type": "object",
+ "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
},
"MigrateSqlServerSqlDbTaskProperties": {
"x-ms-discriminator-value": "Migrate.SqlServer.SqlDb",
@@ -512,6 +608,30 @@
"$ref": "#/definitions/ProjectTaskProperties"
}
]
+ },
+ "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": {
+ "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS",
+ "type": "object",
+ "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
},
"ValidateMongoDbTaskProperties": {
"x-ms-discriminator-value": "Validate.MongoDb",
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json
index 42e959a5e852..5a49380c1e9c 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json
@@ -304,6 +304,46 @@
"projectName",
"projectLocation"
]
+ },
+ "SqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.",
+ "properties": {
+ "selectedDatabases": {
+ "description": "Databases to migrate",
+ "type": "array",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ "backupFileShare": {
+ "$ref": "./TasksCommon.json#/definitions/FileShare",
+ "description": "Backup file share information for all selected databases."
+ },
+ "storageResourceId": {
+ "type": "string",
+ "description": "Fully qualified resourceId of storage"
+ },
+ "sourceConnectionInfo": {
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo",
+ "description": "Connection information for source SQL Server"
+ },
+ "targetConnectionInfo": {
+ "$ref": "./Common.json#/definitions/MiSqlConnectionInfo",
+ "description": "Connection information for Azure SQL Database Managed Instance"
+ },
+ "azureApp":{
+ "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp",
+ "description" : "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "azureApp",
+ "sourceConnectionInfo",
+ "targetConnectionInfo",
+ "storageResourceId"
+ ]
},
"MigrationState": {
"type": "string",
@@ -1122,6 +1162,26 @@
"name": "BackupType",
"modelAsString": true
}
+ },
+ "DatabaseMigrationState": {
+ "type": "string",
+ "description": "Database level migration state.",
+ "enum": [
+ "UNDEFINED",
+ "INITIAL",
+ "FULL_BACKUP_UPLOAD_START",
+ "LOG_SHIPPING_START",
+ "UPLOAD_LOG_FILES_START",
+ "CUTOVER_START",
+ "POST_CUTOVER_COMPLETE",
+ "COMPLETED",
+ "CANCELLED",
+ "FAILED"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseMigrationState",
+ "modelAsString": true
+ }
}
}
}
\ No newline at end of file
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json
new file mode 100644
index 000000000000..fe872c46c5bf
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json
@@ -0,0 +1,54 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-07-15-preview"
+ },
+ "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": {
+ "ValidateMigrationInputSqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.",
+ "allOf": [
+ {
+ "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput"
+ }
+ ]
+ },
+ "ValidateMigrationInputSqlServerSqlMISyncTaskOutput": {
+ "type": "object",
+ "description": "Output for task that validates migration input for Azure SQL Database Managed Instance online migration",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Database identifier",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of database",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Errors associated with a selected database object",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json
new file mode 100644
index 000000000000..78c25f8767d4
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json
@@ -0,0 +1,163 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "CommandProperties": {
+ "type": "object",
+ "description": "Base class for all types of DMS command properties. If command is not supported by current client, this object is returned.",
+ "x-ms-discriminator-value": "Unknown",
+ "properties": {
+ "commandType": {
+ "description": "Command type.",
+ "type": "string"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ODataError"
+ },
+ "description": "Array of errors. This is ignored if submitted.",
+ "readOnly": true
+ },
+ "state": {
+ "type": "string",
+ "description": "The state of the command. This is ignored if submitted.",
+ "enum": [
+ "Unknown",
+ "Accepted",
+ "Running",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "CommandState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ },
+ "required": [ "commandType" ],
+ "discriminator": "commandType"
+ },
+ "MigrateSyncCompleteCommandProperties": {
+ "x-ms-discriminator-value": "Migrate.Sync.Complete.Database",
+ "type": "object",
+ "description": "Properties for the command that completes sync migration for a database.",
+ "properties": {
+ "input": {
+ "description": "Command input",
+ "$ref": "#/definitions/MigrateSyncCompleteCommandInput"
+ },
+ "output": {
+ "description": "Command output. This is ignored if submitted.",
+ "$ref": "#/definitions/MigrateSyncCompleteCommandOutput",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommandProperties"
+ }
+ ]
+ },
+ "MigrateSyncCompleteCommandInput": {
+ "type": "object",
+ "description": "Input for command that completes sync migration for a database.",
+ "properties": {
+ "databaseName": {
+ "description": "Name of database",
+ "type": "string"
+ },
+ "commitTimeStamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time stamp to complete"
+ }
+ },
+ "required": [
+ "databaseName"
+ ]
+ },
+ "MigrateSyncCompleteCommandOutput": {
+ "type": "object",
+ "description": "Output for command that completes sync migration for a database.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "errors": {
+ "description": "List of errors that happened during the command execution",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "MigrateMISyncCompleteCommandProperties": {
+ "x-ms-discriminator-value": "Migrate.SqlServer.AzureDbSqlMi.Complete",
+ "type": "object",
+ "description": "Properties for the command that completes online migration for an Azure SQL Database Managed Instance.",
+ "properties": {
+ "input": {
+ "description": "Command input",
+ "$ref": "#/definitions/MigrateMISyncCompleteCommandInput"
+ },
+ "output": {
+ "description": "Command output. This is ignored if submitted.",
+ "$ref": "#/definitions/MigrateMISyncCompleteCommandOutput",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommandProperties"
+ }
+ ]
+ },
+ "MigrateMISyncCompleteCommandInput": {
+ "type": "object",
+ "description": "Input for command that completes online migration for an Azure SQL Database Managed Instance.",
+ "properties": {
+ "sourceDatabaseName": {
+ "description": "Name of managed instance database",
+ "type": "string"
+ }
+ },
+ "required": [
+ "sourceDatabaseName"
+ ]
+ },
+ "MigrateMISyncCompleteCommandOutput": {
+ "type": "object",
+ "description": "Output for command that completes online migration for an Azure SQL Database Managed Instance.",
+ "properties": {
+ "errors": {
+ "description": "List of errors that happened during the command execution",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json
index 4fa419b122ee..274bb71c32a5 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json
@@ -157,6 +157,10 @@
"readOnly": true,
"type": "string",
"description": "Error message"
+ },
+ "actionableMessage": {
+ "type": "string",
+ "description": "Actionable steps for this exception"
},
"filePath": {
"readOnly": true,
@@ -252,7 +256,9 @@
"description": "Password credential."
}
},
- "required": [ "type" ],
+ "required": [
+ "type"
+ ],
"discriminator": "type"
},
"AuthenticationType": {
@@ -301,21 +307,265 @@
"type": "boolean",
"description": "Whether to trust the server certificate",
"default": false
+ },
+ "platform": {
+ "$ref": "#/definitions/SqlServerSourcePlatform",
+ "description": "Server platform type for connection"
+ }
+ },
+ "required": [
+ "dataSource"
+ ]
+ },
+ "SqlServerSourcePlatform": {
+ "type": "string",
+ "description": "An enumeration of source platform types",
+ "enum": [
+ "SqlOnPrem"
+ ],
+ "x-ms-enum": {
+ "name": "SqlSourcePlatform",
+ "modelAsString": true
+ }
+ },
+ "MySqlConnectionInfo": {
+ "x-ms-discriminator-value": "MySqlConnectionInfo",
+ "type": "object",
+ "description": "Information for connecting to MySQL server",
+ "properties": {
+ "serverName": {
+ "type": "string",
+ "description": "Name of the server"
+ },
+ "port": {
+ "type": "integer",
+ "description": "Port for Server"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ }
+ ],
+ "required": [
+ "serverName",
+ "port"
+ ]
+ },
+ "PostgreSqlConnectionInfo": {
+ "x-ms-discriminator-value": "PostgreSqlConnectionInfo",
+ "type": "object",
+ "description": "Information for connecting to PostgreSQL server",
+ "properties": {
+ "serverName": {
+ "type": "string",
+ "description": "Name of the server"
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "port": {
+ "type": "integer",
+ "description": "Port for Server"
}
},
- "required": [ "dataSource" ]
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ }
+ ],
+ "required": [
+ "serverName",
+ "port"
+ ]
+ },
+ "MySqlTargetPlatform": {
+ "type": "string",
+ "description": "An enumeration of possible target types when migrating from MySQL",
+ "enum": [
+ "SqlServer",
+ "AzureDbForMySQL"
+ ],
+ "x-ms-enum": {
+ "name": "MySqlTargetPlatformType",
+ "modelAsString": true
+ }
},
"ServerLevelPermissionsGroup": {
"type": "string",
"description": "Permission group for validations. These groups will run a set of permissions for validating user activity. Select the permission group for the activity that you are performing.",
"enum": [
"Default",
- "MigrationFromSqlServerToAzureDB"
+ "MigrationFromSqlServerToAzureDB",
+ "MigrationFromSqlServerToAzureMI",
+ "MigrationFromMySQLToAzureDBForMySQL"
+ ],
+ "x-ms-enum": {
+ "name": "ServerLevelPermissionsGroup"
+ }
+ },
+ "AzureActiveDirectoryApp": {
+ "type": "object",
+ "description": "Azure Active Directory Application",
+ "properties": {
+ "applicationId": {
+ "type": "string",
+ "description": "Application ID of the Azure Active Directory Application"
+ },
+ "appKey": {
+ "type": "string",
+ "description": "Key used to authenticate to the Azure Active Directory Application"
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "Tenant id of the customer"
+ }
+ },
+ "required": [
+ "applicationId",
+ "appKey",
+ "tenantId"
+ ]
+ },
+ "MiSqlConnectionInfo": {
+ "x-ms-discriminator-value": "MiSqlConnectionInfo",
+ "type": "object",
+ "description": "Properties required to create a connection to Azure SQL database Managed instance",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ConnectionInfo"
+ }
+ ],
+ "properties": {
+ "managedInstanceResourceId": {
+ "type": "string",
+ "description": "Resource id for Azure SQL database Managed instance"
+ }
+ },
+ "required": [
+ "managedInstanceResourceId"
+ ]
+ },
+ "BackupSetInfo": {
+ "type": "object",
+ "description": "Information of backup set",
+ "properties": {
+ "backupSetId": {
+ "type": "string",
+ "description": "Id for the set of backup files"
+ },
+ "firstLsn": {
+ "type": "string",
+ "description": "First log sequence number of the backup file"
+ },
+ "lastLsn": {
+ "type": "string",
+ "description": "Last log sequence number of the backup file"
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last modified time of the backup file in share location"
+ },
+ "backupType": {
+ "$ref": "#/definitions/BackupType",
+ "description": "Enum of the different backup types"
+ },
+ "listOfBackupFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupFileInfo"
+ },
+ "description": "List of files in the backup set"
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database to which the backup set belongs"
+ },
+ "backupStartDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time that the backup operation began"
+ },
+ "backupFinishedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time that the backup operation finished"
+ },
+ "isBackupRestored": {
+ "type": "boolean",
+ "description": "Whether the backup set is restored or not"
+ }
+ },
+ "readOnly": true
+ },
+ "BackupType": {
+ "type": "string",
+ "description": "Enum of the different backup types.",
+ "enum": [
+ "Database",
+ "TransactionLog",
+ "File",
+ "DifferentialDatabase",
+ "DifferentialFile",
+ "Partial",
+ "DifferentialPartial"
],
"x-ms-enum": {
- "name": "ServerLevelPermissionsGroup",
+ "name": "BackupType",
"modelAsString": true
}
+ },
+ "BackupFileInfo": {
+ "type": "object",
+ "description": "Information of the backup file",
+ "properties": {
+ "fileLocation": {
+ "type": "string",
+ "description": "Location of the backup file in shared folder"
+ },
+ "familySequenceNumber": {
+ "type": "integer",
+ "description": "Sequence number of the backup file in the backup set"
+ },
+ "status": {
+ "$ref": "#/definitions/BackupFileStatus",
+ "description": "Status of the backup file during migration"
+ }
+ },
+ "readOnly": true
+ },
+ "BackupFileStatus": {
+ "type": "string",
+ "description": "An enumeration of Status of the log backup file.",
+ "enum": [
+ "Arrived",
+ "Queued",
+ "Uploading",
+ "Uploaded",
+ "Restoring",
+ "Restored",
+ "Cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "BackupFileStatus",
+ "modelAsString": true
+ }
+ },
+ "OrphanedUserInfo": {
+ "type": "object",
+ "description": "Information of orphaned users on the SQL server database.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the orphaned user"
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "Parent database of the user"
+ }
+ }
}
}
}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json
new file mode 100644
index 000000000000..3d68cdc1eaa0
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json
@@ -0,0 +1,66 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "ConnectToSourceMySqlTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToSource.MySql",
+ "type": "object",
+ "description": "Properties for the task that validates MySQL database connection",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "#/definitions/ConnectToSourceMySqlTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/ConnectToSourceNonSqlTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./Tasks.json#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "ConnectToSourceMySqlTaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates MySQL database connection",
+ "properties": {
+ "sourceConnectionInfo": {
+ "$ref": "./Common.json#/definitions/MySqlConnectionInfo",
+ "description": "Information for connecting to MySQL source"
+ },
+ "targetPlatform": {
+ "$ref": "./Common.json#/definitions/MySqlTargetPlatform",
+ "description": "Target Platform for the migration"
+ },
+ "checkPermissionsGroup": {
+ "$ref": "./Common.json#/definitions/ServerLevelPermissionsGroup",
+ "description": "Permission group for validations"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json
new file mode 100644
index 000000000000..7ebfe6572720
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json
@@ -0,0 +1,71 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "ConnectToSourcePostgreSqlSyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates connection to PostgreSQL and source server requirements",
+ "properties": {
+ "sourceConnectionInfo": {
+ "description": "Connection information for source PostgreSQL server",
+ "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo"
+ ]
+ },
+ "ConnectToSourcePostgreSqlSyncTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that validates connection to PostgreSQL and source server requirements",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "sourceServerVersion": {
+ "type": "string",
+ "description": "Version of the source server",
+ "readOnly": true
+ },
+ "databases": {
+ "type": "array",
+ "description": "List of databases on source server",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "sourceServerBrandVersion": {
+ "type": "string",
+ "description": "Source server brand version",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors associated with the task",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json
new file mode 100644
index 000000000000..165665988fd2
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json
@@ -0,0 +1,76 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "ConnectToTargetAzureDbForMySqlTaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements",
+ "properties": {
+ "sourceConnectionInfo": {
+ "description": "Connection information for source MySQL server",
+ "$ref": "./Common.json#/definitions/MySqlConnectionInfo"
+ },
+ "targetConnectionInfo": {
+ "description": "Connection information for target Azure Database for MySQL server",
+ "$ref": "./Common.json#/definitions/MySqlConnectionInfo"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ]
+ },
+ "ConnectToTargetAzureDbForMySqlTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that validates connection to Azure Database for MySQL and target server requirements",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "serverVersion": {
+ "type": "string",
+ "description": "Version of the target server",
+ "readOnly": true
+ },
+ "databases": {
+ "type": "array",
+ "description": "List of databases on target server",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "targetServerBrandVersion": {
+ "type": "string",
+ "description": "Target server brand version",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors associated with the task",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json
new file mode 100644
index 000000000000..125af8cb47aa
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json
@@ -0,0 +1,76 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements",
+ "properties": {
+ "sourceConnectionInfo": {
+ "description": "Connection information for source PostgreSQL server",
+ "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo"
+ },
+ "targetConnectionInfo": {
+ "description": "Connection information for target Azure Database for PostgreSQL server",
+ "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ]
+ },
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Version of the target server",
+ "readOnly": true
+ },
+ "databases": {
+ "type": "array",
+ "description": "List of databases on target server",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "targetServerBrandVersion": {
+ "type": "string",
+ "description": "Target server brand version",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors associated with the task",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json
new file mode 100644
index 000000000000..b2c859e754dc
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json
@@ -0,0 +1,79 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "ConnectToTargetSqlMITaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance.",
+ "properties": {
+ "targetConnectionInfo": {
+ "description": "Connection information for target SQL Server",
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo"
+ }
+ },
+ "required": [
+ "targetConnectionInfo"
+ ]
+ },
+ "ConnectToTargetSqlMITaskOutput": {
+ "type": "object",
+ "description": "Output for the task that validates connection to Azure SQL Database Managed Instance.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Target server version",
+ "readOnly": true
+ },
+ "targetServerBrandVersion": {
+ "type": "string",
+ "description": "Target server brand version",
+ "readOnly": true
+ },
+ "logins": {
+ "type": "array",
+ "description": "List of logins on the target server.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "agentJobs": {
+ "type": "array",
+ "description": "List of agent jobs on the target server.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json
new file mode 100644
index 000000000000..fef71c4b3fff
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json
@@ -0,0 +1,63 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "ConnectToTargetSqlMISyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario.",
+ "properties": {
+ "targetConnectionInfo": {
+ "$ref": "./Common.json#/definitions/MiSqlConnectionInfo",
+ "description": "Connection information for Azure SQL Database Managed Instance"
+ },
+ "azureApp": {
+ "description" : "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account",
+ "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp"
+ }
+ },
+ "required": [
+ "targetConnectionInfo",
+ "azureApp"
+ ]
+ },
+ "ConnectToTargetSqlMISyncTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that validates connection to Azure SQL Database Managed Instance.",
+ "properties": {
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Target server version",
+ "readOnly": true
+ },
+ "targetServerBrandVersion": {
+ "type": "string",
+ "description": "Target server brand version",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json
new file mode 100644
index 000000000000..e2d2aa742694
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json
@@ -0,0 +1,39 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-07-15-preview"
+ },
+ "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": {
+ "ConnectToTargetSqlSqlDbSyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that validates connection to Azure SQL DB and target server requirements",
+ "properties": {
+ "sourceConnectionInfo": {
+ "description": "Connection information for source SQL Server",
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo"
+ },
+ "targetConnectionInfo": {
+ "description": "Connection information for target SQL DB",
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo"
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json
new file mode 100644
index 000000000000..4a9f15ae8e03
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json
@@ -0,0 +1,90 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "GetTdeCertificatesSqlTaskInput": {
+ "type": "object",
+ "description": "Input for the task that gets TDE certificates in Base64 encoded format.",
+ "properties": {
+ "connectionInfo": {
+ "description": "Connection information for SQL Server",
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo"
+ },
+ "backupFileShare": {
+ "$ref": "./TasksCommon.json#/definitions/FileShare",
+ "description": "Backup file share information for file share to be used for temporarily storing files."
+ },
+ "selectedCertificates": {
+ "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SelectedCertificateInput"
+ }
+ }
+ },
+ "required": [
+ "connectionInfo",
+ "backupFileShare",
+ "selectedCertificates"
+ ]
+ },
+ "GetTdeCertificatesSqlTaskOutput": {
+ "type": "object",
+ "description": "Output of the task that gets TDE certificates in Base64 encoded format.",
+ "properties": {
+ "base64EncodedCertificates": {
+ "type": "string",
+ "description": "Mapping from certificate name to base 64 encoded format.",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SelectedCertificateInput": {
+ "type": "object",
+ "description": "Info for certificate to be exported for TDE enabled databases.",
+ "properties": {
+ "certificateName": {
+ "type": "string",
+ "description": "Name of certificate to be exported."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password to use for encrypting the exported certificate."
+ }
+ },
+ "required": [
+ "certificateName",
+ "password"
+ ]
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json
new file mode 100644
index 000000000000..ef028f0aecde
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json
@@ -0,0 +1,102 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "GetUserTablesSqlSyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that collects user tables for the given list of databases",
+ "properties": {
+ "sourceConnectionInfo": {
+ "description": "Connection information for SQL Server",
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo"
+ },
+ "targetConnectionInfo": {
+ "description": "Connection information for SQL DB",
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo"
+ },
+ "selectedSourceDatabases": {
+ "type": "array",
+ "description": "List of source database names to collect tables for",
+ "items": {
+ "type": "string"
+ }
+ },
+ "selectedTargetDatabases": {
+ "type": "array",
+ "description": "List of target database names to collect tables for",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo",
+ "selectedSourceDatabases",
+ "selectedTargetDatabases"
+ ]
+ },
+ "GetUserTablesSqlSyncTaskOutput": {
+ "type": "object",
+ "description": "Output of the task that collects user tables for the given list of databases",
+ "properties": {
+ "databasesToSourceTables": {
+ "type": "string",
+ "description": "Mapping from database name to list of source tables",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/DatabaseTable"
+ }
+ },
+ "readOnly": true
+ },
+ "databasesToTargetTables": {
+ "type": "string",
+ "description": "Mapping from database name to list of target tables",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/DatabaseTable"
+ }
+ },
+ "readOnly": true
+ },
+ "tableValidationErrors": {
+ "type": "string",
+ "description": "Mapping from database name to list of validation errors",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json
new file mode 100644
index 000000000000..2ff54f18f5ae
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json
@@ -0,0 +1,361 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "MigrateMySqlAzureDbForMySqlSyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations",
+ "properties": {
+ "sourceConnectionInfo": {
+ "description": "Connection information for source MySQL",
+ "$ref": "./Common.json#/definitions/MySqlConnectionInfo"
+ },
+ "targetConnectionInfo": {
+ "description": "Connection information for target Azure Database for MySQL",
+ "$ref": "./Common.json#/definitions/MySqlConnectionInfo"
+ },
+ "selectedDatabases": {
+ "type": "array",
+ "description": "Databases to migrate",
+ "items": {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput"
+ }
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo",
+ "selectedDatabases"
+ ]
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that migrates MySQL databases to Azure Database for MySQL for online migrations",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "resultType": {
+ "description": "Result type",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "resultType"
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel": {
+ "x-ms-discriminator-value": "MigrationLevelOutput",
+ "type": "object",
+ "properties": {
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "sourceServerVersion": {
+ "type": "string",
+ "description": "Source server version",
+ "readOnly": true
+ },
+ "sourceServer": {
+ "type": "string",
+ "description": "Source server name",
+ "readOnly": true
+ },
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Target server version",
+ "readOnly": true
+ },
+ "targetServer": {
+ "type": "string",
+ "description": "Target server name",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "DatabaseLevelOutput",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "migrationState": {
+ "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState",
+ "description": "Migration state that this database is in",
+ "readOnly": true
+ },
+ "incomingChanges": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of incoming changes",
+ "readOnly": true
+ },
+ "appliedChanges": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of applied changes",
+ "readOnly": true
+ },
+ "cdcInsertCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of cdc inserts",
+ "readOnly": true
+ },
+ "cdcDeleteCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of cdc deletes",
+ "readOnly": true
+ },
+ "cdcUpdateCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of cdc updates",
+ "readOnly": true
+ },
+ "fullLoadCompletedTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables completed in full load",
+ "readOnly": true
+ },
+ "fullLoadLoadingTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables loading in full load",
+ "readOnly": true
+ },
+ "fullLoadQueuedTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables queued in full load",
+ "readOnly": true
+ },
+ "fullLoadErroredTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables errored in full load",
+ "readOnly": true
+ },
+ "initializationCompleted": {
+ "type": "boolean",
+ "description": "Indicates if initial load (full load) has been completed",
+ "readOnly": true
+ },
+ "latency": {
+ "type": "integer",
+ "format": "int64",
+ "description": "CDC apply latency",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "TableLevelOutput",
+ "properties": {
+ "tableName": {
+ "type": "string",
+ "description": "Name of the table",
+ "readOnly": true
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database",
+ "readOnly": true
+ },
+ "cdcInsertCounter": {
+ "type": "string",
+ "description": "Number of applied inserts",
+ "readOnly": true
+ },
+ "cdcUpdateCounter": {
+ "type": "string",
+ "description": "Number of applied updates",
+ "readOnly": true
+ },
+ "cdcDeleteCounter": {
+ "type": "string",
+ "description": "Number of applied deletes",
+ "readOnly": true
+ },
+ "fullLoadEstFinishTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Estimate to finish full load",
+ "readOnly": true
+ },
+ "fullLoadStartedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Full load start time",
+ "readOnly": true
+ },
+ "fullLoadEndedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Full load end time",
+ "readOnly": true
+ },
+ "fullLoadTotalRows": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of rows applied in full load",
+ "readOnly": true
+ },
+ "state": {
+ "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState",
+ "description": "Current state of the table migration",
+ "readOnly": true
+ },
+ "totalChangesApplied": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of applied changes",
+ "readOnly": true
+ },
+ "dataErrorsCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of data errors occurred",
+ "readOnly": true
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last modified time on target",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskOutputError": {
+ "type": "object",
+ "x-ms-discriminator-value": "ErrorOutput",
+ "properties": {
+ "error": {
+ "$ref": "./Common.json#/definitions/ReportableException",
+ "description": "Migration error",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError": {
+ "type": "object",
+ "x-ms-discriminator-value": "DatabaseLevelErrorOutput",
+ "properties": {
+ "errorMessage": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "events": {
+ "type": "array",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent"
+ },
+ "description": "List of error events."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateMySqlAzureDbForMySqlSyncDatabaseInput": {
+ "type": "object",
+ "description": "Database specific information for MySQL to Azure Database for MySQL migration task inputs",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "migrationSetting": {
+ "type": "object",
+ "description": "Migration settings which tune the migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sourceSetting": {
+ "type": "object",
+ "description": "Source settings to tune source endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetSetting": {
+ "type": "object",
+ "description": "Target settings to tune target endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json
new file mode 100644
index 000000000000..252bc334a032
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json
@@ -0,0 +1,364 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations",
+ "properties": {
+ "selectedDatabases": {
+ "type": "array",
+ "description": "Databases to migrate",
+ "items": {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput"
+ }
+ },
+ "targetConnectionInfo": {
+ "description": "Connection information for target Azure Database for PostgreSQL",
+ "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo"
+ },
+ "sourceConnectionInfo": {
+ "description": "Connection information for source PostgreSQL",
+ "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo"
+ }
+ },
+ "required": [
+ "targetConnectionInfo",
+ "sourceConnectionInfo",
+ "selectedDatabases"
+ ]
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "resultType": {
+ "description": "Result type",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "resultType"
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel": {
+ "x-ms-discriminator-value": "MigrationLevelOutput",
+ "type": "object",
+ "properties": {
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "sourceServerVersion": {
+ "type": "string",
+ "description": "Source server version",
+ "readOnly": true
+ },
+ "sourceServer": {
+ "type": "string",
+ "description": "Source server name",
+ "readOnly": true
+ },
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Target server version",
+ "readOnly": true
+ },
+ "targetServer": {
+ "type": "string",
+ "description": "Target server name",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "DatabaseLevelOutput",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "migrationState": {
+ "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState",
+ "description": "Migration state that this database is in",
+ "readOnly": true
+ },
+ "incomingChanges": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of incoming changes",
+ "readOnly": true
+ },
+ "appliedChanges": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of applied changes",
+ "readOnly": true
+ },
+ "cdcInsertCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of cdc inserts",
+ "readOnly": true
+ },
+ "cdcDeleteCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of cdc deletes",
+ "readOnly": true
+ },
+ "cdcUpdateCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of cdc updates",
+ "readOnly": true
+ },
+ "fullLoadCompletedTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables completed in full load",
+ "readOnly": true
+ },
+ "fullLoadLoadingTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables loading in full load",
+ "readOnly": true
+ },
+ "fullLoadQueuedTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables queued in full load",
+ "readOnly": true
+ },
+ "fullLoadErroredTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables errored in full load",
+ "readOnly": true
+ },
+ "initializationCompleted": {
+ "type": "boolean",
+ "description": "Indicates if initial load (full load) has been completed",
+ "readOnly": true
+ },
+ "latency": {
+ "type": "integer",
+ "format": "int64",
+ "description": "CDC apply latency",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "TableLevelOutput",
+ "properties": {
+ "tableName": {
+ "type": "string",
+ "description": "Name of the table",
+ "readOnly": true
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database",
+ "readOnly": true
+ },
+ "cdcInsertCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of applied inserts",
+ "readOnly": true
+ },
+ "cdcUpdateCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of applied updates",
+ "readOnly": true
+ },
+ "cdcDeleteCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of applied deletes",
+ "readOnly": true
+ },
+ "fullLoadEstFinishTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Estimate to finish full load",
+ "readOnly": true
+ },
+ "fullLoadStartedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Full load start time",
+ "readOnly": true
+ },
+ "fullLoadEndedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Full load end time",
+ "readOnly": true
+ },
+ "fullLoadTotalRows": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of rows applied in full load",
+ "readOnly": true
+ },
+ "state": {
+ "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState",
+ "description": "Current state of the table migration",
+ "readOnly": true
+ },
+ "totalChangesApplied": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of applied changes",
+ "readOnly": true
+ },
+ "dataErrorsCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of data errors occurred",
+ "readOnly": true
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last modified time on target",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError": {
+ "type": "object",
+ "x-ms-discriminator-value": "ErrorOutput",
+ "properties": {
+ "error": {
+ "$ref": "./Common.json#/definitions/ReportableException",
+ "description": "Migration error",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError": {
+ "type": "object",
+ "x-ms-discriminator-value": "DatabaseLevelErrorOutput",
+ "properties": {
+ "errorMessage": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "events": {
+ "type": "array",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent"
+ },
+ "description": "List of error events."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput"
+ }
+ ]
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput": {
+ "type": "object",
+ "description": "Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "migrationSetting": {
+ "type": "object",
+ "description": "Migration settings which tune the migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sourceSetting": {
+ "type": "object",
+ "description": "Source settings to tune source endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetSetting": {
+ "type": "object",
+ "description": "Target settings to tune target endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json
new file mode 100644
index 000000000000..6556a88fd5c3
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json
@@ -0,0 +1,333 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "MigrateSqlServerSqlDbSyncTaskInput": {
+ "type": "object",
+ "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations",
+ "properties": {
+ "selectedDatabases": {
+ "type": "array",
+ "description": "Databases to migrate",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput"
+ }
+ },
+ "validationOptions": {
+ "description": "Validation options",
+ "$ref": "./MigrationValidation.json#/definitions/MigrationValidationOptions"
+ }
+ },
+ "required": [
+ "selectedDatabases"
+ ],
+ "allOf": [
+ {
+ "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlDbSyncTaskOutput": {
+ "type": "object",
+ "description": "Output for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "resultType": {
+ "description": "Result type",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "resultType"
+ },
+ "MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel": {
+ "x-ms-discriminator-value": "MigrationLevelOutput",
+ "type": "object",
+ "properties": {
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "sourceServerVersion": {
+ "type": "string",
+ "description": "Source server version",
+ "readOnly": true
+ },
+ "sourceServer": {
+ "type": "string",
+ "description": "Source server name",
+ "readOnly": true
+ },
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Target server version",
+ "readOnly": true
+ },
+ "targetServer": {
+ "type": "string",
+ "description": "Target server name",
+ "readOnly": true
+ },
+ "databaseCount": {
+ "type": "integer",
+ "description": "Count of databases",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "DatabaseLevelOutput",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "migrationState": {
+ "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState",
+ "description": "Migration state that this database is in",
+ "readOnly": true
+ },
+ "incomingChanges": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of incoming changes",
+ "readOnly": true
+ },
+ "appliedChanges": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of applied changes",
+ "readOnly": true
+ },
+ "cdcInsertCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of cdc inserts",
+ "readOnly": true
+ },
+ "cdcDeleteCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of cdc deletes",
+ "readOnly": true
+ },
+ "cdcUpdateCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of cdc updates",
+ "readOnly": true
+ },
+ "fullLoadCompletedTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables completed in full load",
+ "readOnly": true
+ },
+ "fullLoadLoadingTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables loading in full load",
+ "readOnly": true
+ },
+ "fullLoadQueuedTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables queued in full load",
+ "readOnly": true
+ },
+ "fullLoadErroredTables": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of tables errored in full load",
+ "readOnly": true
+ },
+ "initializationCompleted": {
+ "type": "boolean",
+ "description": "Indicates if initial load (full load) has been completed",
+ "readOnly": true
+ },
+ "latency": {
+ "type": "integer",
+ "format": "int64",
+ "description": "CDC apply latency",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlDbSyncTaskOutputTableLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "TableLevelOutput",
+ "properties": {
+ "tableName": {
+ "type": "string",
+ "description": "Name of the table",
+ "readOnly": true
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database",
+ "readOnly": true
+ },
+ "cdcInsertCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of applied inserts",
+ "readOnly": true
+ },
+ "cdcUpdateCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of applied updates",
+ "readOnly": true
+ },
+ "cdcDeleteCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of applied deletes",
+ "readOnly": true
+ },
+ "fullLoadEstFinishTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Estimate to finish full load",
+ "readOnly": true
+ },
+ "fullLoadStartedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Full load start time",
+ "readOnly": true
+ },
+ "fullLoadEndedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Full load end time",
+ "readOnly": true
+ },
+ "fullLoadTotalRows": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of rows applied in full load",
+ "readOnly": true
+ },
+ "state": {
+ "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState",
+ "description": "Current state of the table migration",
+ "readOnly": true
+ },
+ "totalChangesApplied": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total number of applied changes",
+ "readOnly": true
+ },
+ "dataErrorsCounter": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of data errors occurred",
+ "readOnly": true
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last modified time on target",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlDbSyncTaskOutputError": {
+ "type": "object",
+ "x-ms-discriminator-value": "ErrorOutput",
+ "properties": {
+ "error": {
+ "$ref": "./Common.json#/definitions/ReportableException",
+ "description": "Migration error",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlDbSyncTaskOutputDatabaseError": {
+ "type": "object",
+ "x-ms-discriminator-value": "DatabaseLevelErrorOutput",
+ "properties": {
+ "errorMessage": {
+ "type": "string",
+ "description": "Error message"
+ },
+ "events": {
+ "type": "array",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent"
+ },
+ "description": "List of error events."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json
new file mode 100644
index 000000000000..ca1bec7d4ea3
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json
@@ -0,0 +1,374 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "MigrateSqlServerSqlMITaskInput": {
+ "type": "object",
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance.",
+ "allOf": [
+ {
+ "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput"
+ }
+ ],
+ "properties": {
+ "selectedDatabases": {
+ "description": "Databases to migrate",
+ "type": "array",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ "selectedLogins": {
+ "type": "array",
+ "description": "Logins to migrate.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "selectedAgentJobs": {
+ "description": "Agent Jobs to migrate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "backupFileShare": {
+ "$ref": "./TasksCommon.json#/definitions/FileShare",
+ "description": "Backup file share information for all selected databases."
+ },
+ "backupBlobShare": {
+ "$ref": "./TasksCommon.json#/definitions/BlobShare",
+ "description": "SAS URI of Azure Storage Account Container to be used for storing backup files."
+ },
+ "backupMode": {
+ "$ref": "./TasksCommon.json#/definitions/BackupMode",
+ "description": "Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases."
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "backupBlobShare"
+ ]
+ },
+ "MigrateSqlServerSqlMITaskOutput": {
+ "type": "object",
+ "description": "Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "resultType": {
+ "description": "Result type",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "resultType"
+ },
+ "MigrateSqlServerSqlMITaskOutputMigrationLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "MigrationLevelOutput",
+ "properties": {
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "status": {
+ "$ref": "TasksCommon.json#/definitions/MigrationStatus",
+ "description": "Current status of migration",
+ "readOnly": true
+ },
+ "state": {
+ "$ref": "TasksCommon.json#/definitions/MigrationState",
+ "description": "Current state of migration",
+ "readOnly": true
+ },
+ "agentJobs": {
+ "type": "string",
+ "description": "Selected agent jobs as a map from name to id",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "logins": {
+ "type": "string",
+ "description": "Selected logins as a map from name to id",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "Migration progress message",
+ "readOnly": true
+ },
+ "serverRoleResults": {
+ "type": "string",
+ "description": "Map of server role migration results.",
+ "additionalProperties": {
+ "type": "object",
+ "description": "Server role migration result object.",
+ "$ref": "TasksCommon.json#/definitions/StartMigrationScenarioServerRoleResult"
+ },
+ "readOnly": true
+ },
+ "orphanedUsersInfo": {
+ "type": "array",
+ "description": "List of orphaned users.",
+ "items": {
+ "$ref": "./Common.json#/definitions/OrphanedUserInfo"
+ },
+ "readOnly": true
+ },
+ "databases": {
+ "type": "string",
+ "description": "Selected databases as a map from database name to database id",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "sourceServerVersion": {
+ "type": "string",
+ "description": "Source server version",
+ "readOnly": true
+ },
+ "sourceServerBrandVersion": {
+ "type": "string",
+ "description": "Source server brand version",
+ "readOnly": true
+ },
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Target server version",
+ "readOnly": true
+ },
+ "targetServerBrandVersion": {
+ "type": "string",
+ "description": "Target server brand version",
+ "readOnly": true
+ },
+ "exceptionsAndWarnings": {
+ "description": "Migration exceptions and warnings.",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMITaskOutputDatabaseLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "DatabaseLevelOutput",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "Name of the database",
+ "readOnly": true
+ },
+ "sizeMB": {
+ "type": "number",
+ "format": "double",
+ "description": "Size of the database in megabytes",
+ "readOnly": true
+ },
+ "state": {
+ "$ref": "./TasksCommon.json#/definitions/MigrationState",
+ "description": "Current state of migration",
+ "readOnly": true
+ },
+ "stage": {
+ "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationStage",
+ "description": "Current stage of migration",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "Migration progress message",
+ "readOnly": true
+ },
+ "exceptionsAndWarnings": {
+ "description": "Migration exceptions and warnings",
+ "type": "array",
+ "items": {
+ "$ref": "Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMITaskOutputAgentJobLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "AgentJobLevelOutput",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Agent Job name.",
+ "readOnly": true
+ },
+ "isEnabled" : {
+ "type": "boolean",
+ "description": "The state of the original Agent Job.",
+ "readOnly": true
+ },
+ "state": {
+ "$ref": "./TasksCommon.json#/definitions/MigrationState",
+ "description": "Current state of migration",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "Migration progress message",
+ "readOnly": true
+ },
+ "exceptionsAndWarnings": {
+ "description": "Migration errors and warnings per job",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMITaskOutputLoginLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "LoginLevelOutput",
+ "properties": {
+ "loginName": {
+ "type": "string",
+ "description": "Login name.",
+ "readOnly": true
+ },
+ "state" : {
+ "$ref": "TasksCommon.json#/definitions/MigrationState",
+ "description": "Current state of login",
+ "readOnly": true
+ },
+ "stage": {
+ "$ref": "./TasksCommon.json#/definitions/LoginMigrationStage",
+ "description": "Current stage of login",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Login migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Login migration end time",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "Login migration progress message",
+ "readOnly": true
+ },
+ "exceptionsAndWarnings": {
+ "description": "Login migration errors and warnings per login",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMITaskOutputError": {
+ "type": "object",
+ "x-ms-discriminator-value": "ErrorOutput",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the exception",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "Common.json#/definitions/ReportableException",
+ "description": "Migration error",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json
new file mode 100644
index 000000000000..a377c6b0a32e
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json
@@ -0,0 +1,212 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "MigrateSqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.",
+ "allOf": [
+ {
+ "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMISyncTaskOutput": {
+ "type": "object",
+ "description": "Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance using Log Replay Service.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "resultType": {
+ "description": "Result type",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "resultType"
+ },
+ "MigrateSqlServerSqlMISyncTaskOutputMigrationLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "MigrationLevelOutput",
+ "properties": {
+ "databaseCount": {
+ "type": "integer",
+ "description": "Count of databases",
+ "readOnly": true
+ },
+ "state": {
+ "$ref": "TasksCommon.json#/definitions/MigrationState",
+ "description": "Current state of migration",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "sourceServerName": {
+ "type": "string",
+ "description": "Source server name",
+ "readOnly": true
+ },
+ "sourceServerVersion": {
+ "type": "string",
+ "description": "Source server version",
+ "readOnly": true
+ },
+ "sourceServerBrandVersion": {
+ "type": "string",
+ "description": "Source server brand version",
+ "readOnly": true
+ },
+ "targetServerName": {
+ "type": "string",
+ "description": "Target server name",
+ "readOnly": true
+ },
+ "targetServerVersion": {
+ "type": "string",
+ "description": "Target server version",
+ "readOnly": true
+ },
+ "targetServerBrandVersion": {
+ "type": "string",
+ "description": "Target server brand version",
+ "readOnly": true
+ },
+ "databaseErrorCount": {
+ "type": "integer",
+ "description": "Number of database level errors",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel": {
+ "type": "object",
+ "x-ms-discriminator-value": "DatabaseLevelOutput",
+ "properties": {
+ "sourceDatabaseName": {
+ "type": "string",
+ "description": "Name of the database",
+ "readOnly": true
+ },
+ "migrationState": {
+ "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationState",
+ "description": "Current state of database",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Database migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Database migration end time",
+ "readOnly": true
+ },
+ "fullBackupSetInfo": {
+ "type": "object",
+ "description": "Details of full backup set",
+ "$ref": "Common.json#/definitions/BackupSetInfo",
+ "readOnly": true
+ },
+ "lastRestoredBackupSetInfo":{
+ "type": "object",
+ "description": "Last applied backup set information",
+ "$ref": "Common.json#/definitions/BackupSetInfo",
+ "readOnly": true
+ },
+ "activeBackupSets":{
+ "description": "Backup sets that are currently active (Either being uploaded or getting restored)",
+ "type": "array",
+ "items": {
+ "$ref": "Common.json#/definitions/BackupSetInfo"
+ },
+ "readOnly": true
+ },
+ "containerName": {
+ "description": "Name of container created in the Azure Storage account where backups are copied to",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorPrefix": {
+ "description": "prefix string to use for querying errors for this database",
+ "type": "string",
+ "readOnly": true
+ },
+ "isFullBackupRestored": {
+ "description": "Whether full backup has been applied to the target database or not",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "exceptionsAndWarnings": {
+ "description": "Migration exceptions and warnings",
+ "type": "array",
+ "items": {
+ "$ref": "Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMISyncTaskOutputError": {
+ "type": "object",
+ "x-ms-discriminator-value": "ErrorOutput",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the exception",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "Common.json#/definitions/ReportableException",
+ "description": "Migration error",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json
index 7110a241237d..7e5fae465868 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json
@@ -31,7 +31,8 @@
"items": {
"$ref": "./Common.json#/definitions/ODataError"
},
- "description": "Array of errors. This is ignored if submitted."
+ "description": "Array of errors. This is ignored if submitted.",
+ "readOnly": true
},
"state": {
"type": "string",
@@ -51,7 +52,15 @@
"modelAsString": true
},
"readOnly": true
- }
+ },
+ "commands": {
+ "description": "Array of command properties.",
+ "type": "array",
+ "items": {
+ "$ref": "./Commands.json#/definitions/CommandProperties"
+ },
+ "readOnly": true
+ }
},
"required": [ "taskType" ],
"discriminator": "taskType"
@@ -115,6 +124,54 @@
"$ref": "#/definitions/ProjectTaskProperties"
}
]
+ },
+ "ConnectToSourceSqlServerSyncTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToSource.SqlServer.Sync",
+ "type": "object",
+ "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "ConnectToSourcePostgreSqlSyncTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToSource.PostgreSql.Sync",
+ "type": "object",
+ "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
},
"ConnectToTargetSqlDbTaskProperties": {
"x-ms-discriminator-value": "ConnectToTarget.SqlDb",
@@ -139,6 +196,54 @@
"$ref": "#/definitions/ProjectTaskProperties"
}
]
+ },
+ "ConnectToTargetSqlSqlDbSyncTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToTarget.SqlDb.Sync",
+ "type": "object",
+ "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToTargetSqlSqlDbSyncTask.json#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToTargetSqlDbTask.json#/definitions/ConnectToTargetSqlDbTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToTarget.AzureDbForPostgreSql.Sync",
+ "type": "object",
+ "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
},
"GetUserTablesSqlTaskProperties": {
"x-ms-discriminator-value": "GetUserTables.Sql",
@@ -163,6 +268,150 @@
"$ref": "#/definitions/ProjectTaskProperties"
}
]
+ },
+ "GetUserTablesSqlSyncTaskProperties": {
+ "x-ms-discriminator-value": "GetUserTables.AzureSqlDb.Sync",
+ "type": "object",
+ "description": "Properties for the task that collects user tables for the given list of databases",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./GetUserTablesSqlSyncTask.json#/definitions/GetUserTablesSqlSyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./GetUserTablesSqlSyncTask.json#/definitions/GetUserTablesSqlSyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "ConnectToTargetSqlMITaskProperties": {
+ "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI",
+ "type": "object",
+ "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToTargetSqlMITask.json#/definitions/ConnectToTargetSqlMITaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToTargetSqlMITask.json#/definitions/ConnectToTargetSqlMITaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "ConnectToTargetSqlMISyncTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI.Sync.LRS",
+ "type": "object",
+ "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "ConnectToTargetAzureDbForMySqlTaskProperties": {
+ "x-ms-discriminator-value": "ConnectToTarget.AzureDbForMySql",
+ "type": "object",
+ "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ConnectToTargetAzureDbForMySqlTask.json#/definitions/ConnectToTargetAzureDbForMySqlTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ConnectToTargetAzureDbForMySqlTask.json#/definitions/ConnectToTargetAzureDbForMySqlTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMITaskProperties": {
+ "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI",
+ "type": "object",
+ "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./MigrateSqlServerSqlMITask.json#/definitions/MigrateSqlServerSqlMITaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./MigrateSqlServerSqlMITask.json#/definitions/MigrateSqlServerSqlMITaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlMISyncTaskProperties": {
+ "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS",
+ "type": "object",
+ "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
},
"MigrateSqlServerSqlDbTaskProperties": {
"x-ms-discriminator-value": "Migrate.SqlServer.SqlDb",
@@ -182,6 +431,174 @@
"readOnly": true
}
},
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "MigrateSqlServerSqlDbSyncTaskProperties": {
+ "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDb.Sync",
+ "type": "object",
+ "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./MigrateSqlServerSqlDbSyncTask.json#/definitions/MigrateSqlServerSqlDbSyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./MigrateSqlServerSqlDbSyncTask.json#/definitions/MigrateSqlServerSqlDbSyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "MigrateMySqlAzureDbForMySqlSyncTaskProperties": {
+ "x-ms-discriminator-value": "Migrate.MySql.AzureDbForMySql.Sync",
+ "type": "object",
+ "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./MigrateMySqlAzureDbForMySqlSyncTask.json#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./MigrateMySqlAzureDbForMySqlSyncTask.json#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": {
+ "x-ms-discriminator-value": "Migrate.PostgreSql.AzureDbForPostgreSql.Sync",
+ "type": "object",
+ "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": {
+ "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.SqlDb.Sync",
+ "type": "object",
+ "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ValidateSyncMigrationInputSqlServerTask.json#/definitions/ValidateSyncMigrationInputSqlServerTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ValidateSyncMigrationInputSqlServerTask.json#/definitions/ValidateSyncMigrationInputSqlServerTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskProperties": {
+ "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI",
+ "type": "object",
+ "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ValidateMigrationInputSqlServerSqlMITask.json#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ValidateMigrationInputSqlServerSqlMITask.json#/definitions/ValidateMigrationInputSqlServerSqlMITaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": {
+ "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS",
+ "type": "object",
+ "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProjectTaskProperties"
+ }
+ ]
+ },
+ "GetTdeCertificatesSqlTaskProperties": {
+ "x-ms-discriminator-value": "GetTDECertificates.Sql",
+ "type": "object",
+ "description": "Properties for the task that gets TDE certificates in Base64 encoded format.",
+ "properties": {
+ "input": {
+ "description": "Task input",
+ "$ref": "./GetTdeCertificatesSqlTask.json#/definitions/GetTdeCertificatesSqlTaskInput"
+ },
+ "output": {
+ "description": "Task output. This is ignored if submitted.",
+ "type": "array",
+ "items": {
+ "$ref": "./GetTdeCertificatesSqlTask.json#/definitions/GetTdeCertificatesSqlTaskOutput"
+ },
+ "readOnly": true
+ }
+ },
"allOf": [
{
"$ref": "#/definitions/ProjectTaskProperties"
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json
index 72e5f0b4b33e..1be5627d0562 100644
--- a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json
@@ -287,6 +287,80 @@
}
}
}
+ },
+ "DatabaseTable": {
+ "type": "object",
+ "description": "Table properties",
+ "properties": {
+ "hasRows": {
+ "type": "boolean",
+ "description": "Indicates whether table is empty or not",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Schema-qualified name of the table",
+ "readOnly": true
+ }
+ }
+ },
+ "GetProjectDetailsNonSqlTaskInput": {
+ "type": "object",
+ "description": "Input for the task that reads configuration from project artifacts",
+ "properties": {
+ "projectName": {
+ "type": "string",
+ "description": "Name of the migration project"
+ },
+ "projectLocation": {
+ "type": "string",
+ "description": "A URL that points to the location to access project artifacts"
+ }
+ },
+ "required": [
+ "projectName",
+ "projectLocation"
+ ]
+ },
+ "SqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.",
+ "properties": {
+ "selectedDatabases": {
+ "description": "Databases to migrate",
+ "type": "array",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ "backupFileShare": {
+ "$ref": "./TasksCommon.json#/definitions/FileShare",
+ "description": "Backup file share information for all selected databases."
+ },
+ "storageResourceId": {
+ "type": "string",
+ "description": "Fully qualified resourceId of storage"
+ },
+ "sourceConnectionInfo": {
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo",
+ "description": "Connection information for source SQL Server"
+ },
+ "targetConnectionInfo": {
+ "$ref": "./Common.json#/definitions/MiSqlConnectionInfo",
+ "description": "Connection information for Azure SQL Database Managed Instance"
+ },
+ "azureApp":{
+ "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp",
+ "description" : "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account"
+ }
+ },
+ "required": [
+ "selectedDatabases",
+ "azureApp",
+ "sourceConnectionInfo",
+ "targetConnectionInfo",
+ "storageResourceId"
+ ]
},
"MigrationState": {
"type": "string",
@@ -342,6 +416,81 @@
"sourceConnectionInfo",
"targetConnectionInfo"
]
+ },
+ "MigrateSqlServerSqlDbDatabaseInput": {
+ "type": "object",
+ "description": "Database specific information for SQL to Azure SQL DB migration task inputs",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Name of target database. Note: Target database will be truncated before starting migration."
+ },
+ "makeSourceDbReadOnly": {
+ "type": "boolean",
+ "description": "Whether to set database read only before migration"
+ },
+ "tableMap": {
+ "type": "object",
+ "description": "Mapping of source to target tables",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "MigrateSqlServerSqlDbSyncDatabaseInput": {
+ "type": "object",
+ "description": "Database specific information for SQL to Azure SQL DB sync migration task inputs",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for database"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of database"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Target database name"
+ },
+ "schemaName": {
+ "type": "string",
+ "description": "Schema name to be migrated"
+ },
+ "tableMap": {
+ "type": "object",
+ "description": "Mapping of source to target tables",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "migrationSetting": {
+ "type": "object",
+ "description": "Migration settings which tune the migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sourceSetting": {
+ "type": "object",
+ "description": "Source settings to tune source endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "targetSetting": {
+ "type": "object",
+ "description": "Target settings to tune target endpoint migration behavior",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
},
"MigrationTableMetadata": {
"type": "object",
@@ -358,6 +507,162 @@
"readOnly": true
}
}
+ },
+ "NonSqlMigrationTaskInput": {
+ "type": "object",
+ "description": "Base class for non sql migration task input",
+ "properties": {
+ "targetConnectionInfo": {
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo",
+ "description": "Information for connecting to target"
+ },
+ "targetDatabaseName": {
+ "type": "string",
+ "description": "Target database name"
+ },
+ "projectName": {
+ "type": "string",
+ "description": "Name of the migration project"
+ },
+ "projectLocation": {
+ "type": "string",
+ "description": "A URL that points to the drop location to access project artifacts"
+ },
+ "selectedTables": {
+ "type": "array",
+ "description": "Metadata of the tables selected for migration",
+ "items": {
+ "$ref": "#/definitions/NonSqlDataMigrationTable"
+ }
+ }
+ },
+ "required": [
+ "targetConnectionInfo",
+ "targetDatabaseName",
+ "projectName",
+ "projectLocation",
+ "selectedTables"
+ ]
+ },
+ "NonSqlDataMigrationTable": {
+ "type": "object",
+ "description": "Defines metadata for table to be migrated",
+ "properties": {
+ "sourceName": {
+ "type": "string",
+ "description": "Source table name"
+ }
+ }
+ },
+ "NonSqlMigrationTaskOutput": {
+ "type": "object",
+ "description": "Base class for non sql migration task output",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "startedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration start time",
+ "readOnly": true
+ },
+ "endedOn": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Migration end time",
+ "readOnly": true
+ },
+ "status": {
+ "$ref": "#/definitions/MigrationStatus",
+ "description": "Current state of migration",
+ "readOnly": true
+ },
+ "dataMigrationTableResults": {
+ "type": "string",
+ "description": "Results of the migration. The key contains the table name and the value the table result object",
+ "additionalProperties": {
+ "$ref": "#/definitions/NonSqlDataMigrationTableResult"
+ },
+ "readOnly": true
+ },
+ "progressMessage": {
+ "type": "string",
+ "description": "Message about the progress of the migration",
+ "readOnly": true
+ },
+ "sourceServerName": {
+ "type": "string",
+ "description": "Name of source server",
+ "readOnly": true
+ },
+ "targetServerName": {
+ "type": "string",
+ "description": "Name of target server",
+ "readOnly": true
+ }
+ }
+ },
+ "NonSqlDataMigrationTableResult": {
+ "type": "object",
+ "description": "Object used to report the data migration results of a table",
+ "properties": {
+ "resultCode": {
+ "type": "string",
+ "description": "Result code of the data migration",
+ "enum": [
+ "Initial",
+ "Completed",
+ "ObjectNotExistsInSource",
+ "ObjectNotExistsInTarget",
+ "TargetObjectIsInaccessible",
+ "FatalError"
+ ],
+ "x-ms-enum": {
+ "name": "DataMigrationResultCode",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "sourceName": {
+ "type": "string",
+ "description": "Name of the source table",
+ "readOnly": true
+ },
+ "targetName": {
+ "type": "string",
+ "description": "Name of the target table",
+ "readOnly": true
+ },
+ "sourceRowCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of rows in the source table",
+ "readOnly": true
+ },
+ "targetRowCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of rows in the target table",
+ "readOnly": true
+ },
+ "elapsedTimeInMiliseconds": {
+ "type": "number",
+ "format": "double",
+ "description": "Time taken to migrate the data",
+ "readOnly": true
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataMigrationError"
+ },
+ "description": "List of errors, if any, during migration",
+ "readOnly": true
+ }
+ }
},
"DataMigrationError": {
"type": "object",
@@ -387,9 +692,9 @@
"modelAsString": true
}
},
- "MigrateSqlServerSqlServerDatabaseInput": {
+ "MigrateSqlServerSqlMIDatabaseInput": {
"type": "object",
- "description": "Database specific information for SQL to SQL migration task inputs",
+ "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs",
"properties": {
"name": {
"type": "string",
@@ -401,7 +706,36 @@
},
"backupFileShare": {
"$ref": "#/definitions/FileShare",
- "description": "Backup file share information for this database."
+ "description": "Backup file share information for backing up this database."
+ },
+ "backupFilePaths": {
+ "type": "array",
+ "description": "The list of backup files to be used in case of existing backups.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "restoreDatabaseName"
+ ]
+ },
+ "MigrateSqlServerSqlServerDatabaseInput": {
+ "type": "object",
+ "description": "Database specific information for SQL to SQL migration task inputs",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the database"
+ },
+ "restoreDatabaseName": {
+ "type": "string",
+ "description": "Name of the database at destination"
+ },
+ "backupAndRestoreFolder": {
+ "type": "string",
+ "description": "The backup and restore folder"
},
"databaseFiles": {
"type": "array",
@@ -487,6 +821,79 @@
"name": "DatabaseFileType",
"modelAsString": true
}
+ },
+ "ConnectToSourceNonSqlTaskOutput": {
+ "type": "object",
+ "description": "Output for connect to Oracle, MySQL type source",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "sourceServerBrandVersion": {
+ "type": "string",
+ "description": "Server brand version",
+ "readOnly": true
+ },
+ "serverProperties": {
+ "$ref": "#/definitions/ServerProperties",
+ "description": "Server properties",
+ "readOnly": true
+ },
+ "databases": {
+ "type": "array",
+ "description": "List of databases on the server",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Validation errors associated with the task",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ServerProperties": {
+ "type": "object",
+ "description": "Server properties for Oracle, MySQL type source",
+ "properties": {
+ "serverPlatform": {
+ "type": "string",
+ "description": "Name of the server platform",
+ "readOnly": true
+ },
+ "serverName": {
+ "type": "string",
+ "description": "Name of the server",
+ "readOnly": true
+ },
+ "serverVersion": {
+ "type": "string",
+ "description": "Version of the database server",
+ "readOnly": true
+ },
+ "serverEdition": {
+ "type": "string",
+ "description": "Edition of the database server",
+ "readOnly": true
+ },
+ "serverOperatingSystemVersion": {
+ "type": "string",
+ "description": "Version of the operating system",
+ "readOnly": true
+ },
+ "serverDatabaseCount": {
+ "type": "integer",
+ "description": "Number of databases in the server",
+ "readOnly": true
+ }
+ }
},
"DatabaseMigrationStage": {
"type": "string",
@@ -503,6 +910,26 @@
"name": "DatabaseMigrationStage",
"modelAsString": true
}
+ },
+ "SchemaMigrationStage": {
+ "type": "string",
+ "description": "Current stage of schema migration",
+ "enum": [
+ "NotStarted",
+ "ValidatingInputs",
+ "CollectingObjects",
+ "DownloadingScript",
+ "GeneratingScript",
+ "UploadingScript",
+ "DeployingSchema",
+ "Completed",
+ "CompletedWithWarnings",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "SchemaMigrationStage",
+ "modelAsString": true
+ }
},
"BlobShare": {
"type": "object",
@@ -540,7 +967,7 @@
},
"StartMigrationScenarioServerRoleResult": {
"type": "object",
- "description": "Migration results from a server role.",
+ "description": "Server role migration result",
"properties": {
"name": {
"type": "string",
@@ -575,7 +1002,8 @@
"ExternalGroup"
],
"x-ms-enum": {
- "name": "LoginType"
+ "name": "LoginType",
+ "modelAsString": true
}
},
"LoginMigrationStage": {
@@ -593,7 +1021,8 @@
"Completed"
],
"x-ms-enum": {
- "name": "LoginMigrationStage"
+ "name": "LoginMigrationStage",
+ "modelAsString": true
}
},
"MigrationEligibilityInfo": {
@@ -614,6 +1043,163 @@
"readOnly": true
}
}
+ },
+ "SyncDatabaseMigrationReportingState": {
+ "type": "string",
+ "description": "Enum of the different state of database level online migration.",
+ "enum": [
+ "UNDEFINED",
+ "CONFIGURING",
+ "INITIALIAZING",
+ "STARTING",
+ "RUNNING",
+ "READY_TO_COMPLETE",
+ "COMPLETING",
+ "COMPLETE",
+ "CANCELLING",
+ "CANCELLED",
+ "FAILED"
+ ],
+ "x-ms-enum": {
+ "name": "SyncDatabaseMigrationReportingState",
+ "modelAsString": true
+ }
+ },
+ "SyncTableMigrationState": {
+ "type": "string",
+ "description": "Enum of the different state of table level online migration.",
+ "enum": [
+ "BEFORE_LOAD",
+ "FULL_LOAD",
+ "COMPLETED",
+ "CANCELED",
+ "ERROR",
+ "FAILED"
+ ],
+ "x-ms-enum": {
+ "name": "SyncTableMigrationState",
+ "modelAsString": true
+ }
+ },
+ "SyncMigrationDatabaseErrorEvent": {
+ "type": "object",
+ "description": "Database migration errors for online migration",
+ "properties": {
+ "timestampString": {
+ "type": "string",
+ "description": "String value of timestamp.",
+ "readOnly": true
+ },
+ "eventTypeString": {
+ "description": "Event type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventText": {
+ "description": "Event text.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BackupMode": {
+ "type": "string",
+ "description": "An enumeration of backup modes",
+ "enum": [
+ "CreateBackup",
+ "ExistingBackup"
+ ],
+ "x-ms-enum": {
+ "name": "BackupMode",
+ "modelAsString": true
+ }
+ },
+ "DatabaseBackupInfo": {
+ "type": "object",
+ "description": "Information about backup files when existing backup mode is used.",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "Database name.",
+ "readOnly": true
+ },
+ "backupType": {
+ "description": "Backup Type.",
+ "$ref": "#/definitions/BackupType",
+ "readOnly": true
+ },
+ "backupFiles": {
+ "type": "array",
+ "description": "The list of backup files for the current database.",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "position": {
+ "description": "Position of current database backup in the file.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "isDamaged": {
+ "type": "boolean",
+ "description": "Database was damaged when backed up, but the backup operation was requested to continue despite errors.",
+ "readOnly": true
+ },
+ "isCompressed": {
+ "type": "boolean",
+ "description": "Whether the backup set is compressed",
+ "readOnly": true
+ },
+ "familyCount": {
+ "type": "integer",
+ "description": "Number of files in the backup set.",
+ "readOnly": true
+ },
+ "backupFinishDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time when the backup operation finished.",
+ "readOnly": true
+ }
+ }
+ },
+ "BackupType": {
+ "type": "string",
+ "description": "Enum of the different backup types.",
+ "enum": [
+ "Database",
+ "TransactionLog",
+ "File",
+ "DifferentialDatabase",
+ "DifferentialFile",
+ "Partial",
+ "DifferentialPartial"
+ ],
+ "x-ms-enum": {
+ "name": "BackupType",
+ "modelAsString": true
+ }
+ },
+ "DatabaseMigrationState": {
+ "type": "string",
+ "description": "Database level migration state.",
+ "enum": [
+ "UNDEFINED",
+ "INITIAL",
+ "FULL_BACKUP_UPLOAD_START",
+ "LOG_SHIPPING_START",
+ "UPLOAD_LOG_FILES_START",
+ "CUTOVER_START",
+ "POST_CUTOVER_COMPLETE",
+ "COMPLETED",
+ "CANCELLED",
+ "FAILED"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseMigrationState",
+ "modelAsString": true
+ }
}
}
-}
+}
\ No newline at end of file
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json
new file mode 100644
index 000000000000..672a54b1cbcf
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json
@@ -0,0 +1,127 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "ValidateMigrationInputSqlServerSqlMITaskInput": {
+ "type": "object",
+ "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance",
+ "properties": {
+ "sourceConnectionInfo": {
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo",
+ "description": "Information for connecting to source"
+ },
+ "targetConnectionInfo": {
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo",
+ "description": "Information for connecting to target"
+ },
+ "selectedDatabases": {
+ "type": "array",
+ "description": "Databases to migrate",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput"
+ }
+ },
+ "selectedLogins": {
+ "type": "array",
+ "description": "Logins to migrate",
+ "items": {
+ "type": "string"
+ }
+ },
+ "backupFileShare": {
+ "$ref": "./TasksCommon.json#/definitions/FileShare",
+ "description": "Backup file share information for all selected databases."
+ },
+ "backupBlobShare": {
+ "$ref": "./TasksCommon.json#/definitions/BlobShare",
+ "description": "SAS URI of Azure Storage Account Container to be used for storing backup files."
+ },
+ "backupMode": {
+ "$ref": "./TasksCommon.json#/definitions/BackupMode",
+ "description": "Backup Mode to specify whether to use existing backup or create new backup."
+ }
+ },
+ "required": [
+ "sourceConnectionInfo",
+ "targetConnectionInfo",
+ "selectedDatabases",
+ "backupBlobShare"
+ ]
+ },
+ "ValidateMigrationInputSqlServerSqlMITaskOutput": {
+ "type": "object",
+ "description": "Output for task that validates migration input for SQL to Azure SQL Managed Instance migrations",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Result identifier",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of database",
+ "readOnly": true
+ },
+ "restoreDatabaseNameErrors": {
+ "description": "Errors associated with the RestoreDatabaseName",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ },
+ "backupFolderErrors": {
+ "description": "Errors associated with the BackupFolder path",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ },
+ "backupShareCredentialsErrors": {
+ "description": "Errors associated with backup share user name and password credentials",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ },
+ "backupStorageAccountErrors": {
+ "description": "Errors associated with the storage account provided.",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ },
+ "existingBackupErrors": {
+ "description": "Errors associated with existing backup files.",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ },
+ "databaseBackupInfo": {
+ "$ref": "./TasksCommon.json#/definitions/DatabaseBackupInfo",
+ "description": "Information about backup files when existing backup mode is used."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json
new file mode 100644
index 000000000000..1dc1ec762509
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json
@@ -0,0 +1,54 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "ValidateMigrationInputSqlServerSqlMISyncTaskInput": {
+ "type": "object",
+ "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.",
+ "allOf": [
+ {
+ "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput"
+ }
+ ]
+ },
+ "ValidateMigrationInputSqlServerSqlMISyncTaskOutput": {
+ "type": "object",
+ "description": "Output for task that validates migration input for Azure SQL Database Managed Instance online migration",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Database identifier",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of database",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Errors associated with a selected database object",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json
new file mode 100644
index 000000000000..0210c0ebcd7e
--- /dev/null
+++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json
@@ -0,0 +1,71 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Database Migration Service Resource Provider",
+ "version": "2018-04-19"
+ },
+ "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": {
+ "ValidateSyncMigrationInputSqlServerTaskInput": {
+ "type": "object",
+ "description": "Input for task that validates migration input for SQL sync migrations",
+ "properties": {
+ "sourceConnectionInfo": {
+ "description": "Information for connecting to source SQL server",
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo"
+ },
+ "targetConnectionInfo": {
+ "description": "Information for connecting to target",
+ "$ref": "./Common.json#/definitions/SqlConnectionInfo"
+ },
+ "selectedDatabases": {
+ "type": "array",
+ "description": "Databases to migrate",
+ "items": {
+ "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput"
+ }
+ }
+ },
+ "required": [
+ "targetConnectionInfo",
+ "sourceConnectionInfo",
+ "selectedDatabases"
+ ]
+ },
+ "ValidateSyncMigrationInputSqlServerTaskOutput": {
+ "type": "object",
+ "description": "Output for task that validates migration input for SQL sync migrations",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Database identifier",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of database",
+ "readOnly": true
+ },
+ "validationErrors": {
+ "description": "Errors associated with a selected database object",
+ "type": "array",
+ "items": {
+ "$ref": "./Common.json#/definitions/ReportableException"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md
index 8a0cf304bde5..46f1fbd3cfcc 100644
--- a/specification/datamigration/resource-manager/readme.md
+++ b/specification/datamigration/resource-manager/readme.md
@@ -38,16 +38,34 @@ These settings apply only when `--tag=package-2018-04-19` is specified on the co
``` yaml $(tag) == 'package-2018-04-19'
input-file:
- Microsoft.DataMigration/stable/2018-04-19/datamigration.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceSqlServerTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlDbTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/Projects.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/Services.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json
- Microsoft.DataMigration/stable/2018-04-19/definitions/MigrationValidation.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json
+- Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json
```
### Tag: package-2018-07-15-preview
@@ -61,10 +79,13 @@ input-file:
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceMySqlTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceSqlServerTask.json
+- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlDbTask.json
+- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMITask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json
+- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlSyncTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json
@@ -72,6 +93,7 @@ input-file:
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbSyncTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbTask.json
+- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrationValidation.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json
@@ -82,6 +104,7 @@ input-file:
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json
- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json
+- Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json
```
### Tag: package-2018-03-31-preview
diff --git a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/devspaces.json b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/devspaces.json
new file mode 100644
index 000000000000..62bf3c12dfcd
--- /dev/null
+++ b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/devspaces.json
@@ -0,0 +1,781 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01-preview",
+ "title": "DevSpacesManagement",
+ "description": "Dev Spaces REST API"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/locations/{location}/checkContainerHostMapping": {
+ "post": {
+ "tags": [
+ "ContainerHostMappings"
+ ],
+ "summary": "Returns container host mapping object for a container host resource ID if an associated controller exists.",
+ "operationId": "ContainerHostMappings_GetContainerHostMapping",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "containerHostMapping",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerHostMapping"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Location of the container host.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {}
+ }
+ },
+ "x-ms-examples": {
+ "ContainerHostMappingsGetContainerHostMapping": {
+ "$ref": "./examples/ContainerHostMappingsGetContainerHostMapping_example.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DevSpaces/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Lists operations for the resource provider.",
+ "description": "Lists all the supported operations by the Microsoft.DevSpaces resource provider along with their description.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the list of operations under Microsoft.DevSpaces resource provider.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderOperationList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}": {
+ "get": {
+ "tags": [
+ "Controllers"
+ ],
+ "summary": "Gets an Azure Dev Spaces Controller.",
+ "description": "Gets the properties for an Azure Dev Spaces Controller.",
+ "operationId": "Controllers_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/NameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the Azure Dev Spaces Controller.",
+ "schema": {
+ "$ref": "#/definitions/Controller"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound(Azure Dev Spaces Controller doesn't exist.)",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ControllersGet": {
+ "$ref": "./examples/ControllersGet_example.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Controllers"
+ ],
+ "summary": "Creates an Azure Dev Spaces Controller.",
+ "description": "Creates an Azure Dev Spaces Controller with the specified create parameters.",
+ "operationId": "Controllers_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/NameParameter"
+ },
+ {
+ "name": "controller",
+ "in": "body",
+ "description": "Controller create parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Controller"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the created Azure Dev Spaces Controller .",
+ "schema": {
+ "$ref": "#/definitions/Controller"
+ }
+ },
+ "201": {
+ "description": "The request was successful; Azure Dev Spaces Controller is being created.",
+ "schema": {
+ "$ref": "#/definitions/Controller"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound(Azure Dev Spaces Controller doesn't exist.), 400 - BadRequest(One or more creation parameters are invalid.)",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ControllersCreate": {
+ "$ref": "./examples/ControllersCreate_example.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Controllers"
+ ],
+ "summary": "Deletes an Azure Dev Spaces Controller.",
+ "description": "Deletes an existing Azure Dev Spaces Controller.",
+ "operationId": "Controllers_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/NameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the Azure Dev Spaces Controller is deleted."
+ },
+ "202": {
+ "description": "The request was successful; Azure Dev Spaces Controller is being deleted."
+ },
+ "204": {
+ "description": "The request was successful; Azure Dev Spaces Controller does not exist."
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 409 - Conflict(Azure Dev Spaces Controller is already getting deleted.)",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ControllersDelete": {
+ "$ref": "./examples/ControllersDelete_example.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Controllers"
+ ],
+ "summary": "Updates an Azure Dev Spaces Controller.",
+ "description": "Updates the properties of an existing Azure Dev Spaces Controller with the specified update parameters.",
+ "operationId": "Controllers_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/NameParameter"
+ },
+ {
+ "name": "controllerUpdateParameters",
+ "in": "body",
+ "description": "Parameters for updating the Azure Dev Spaces Controller.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ControllerUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the updated Azure Dev Spaces Controller .",
+ "schema": {
+ "$ref": "#/definitions/Controller"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound(Azure Dev Spaces Controller doesn't exist.), 400 - BadRequest(One or more update parameters are invalid.)",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ControllersUpdate": {
+ "$ref": "./examples/ControllersUpdate_example.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers": {
+ "get": {
+ "tags": [
+ "Controllers"
+ ],
+ "summary": "Lists the Azure Dev Spaces Controllers in a resource group.",
+ "description": "Lists all the Azure Dev Spaces Controllers with their properties in the specified resource group and subscription.",
+ "operationId": "Controllers_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the list of Azure Dev Spaces Controllers in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ControllerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ControllersListByResourceGroup": {
+ "$ref": "./examples/ControllersListByResourceGroup_example.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DevSpaces/controllers": {
+ "get": {
+ "tags": [
+ "Controllers"
+ ],
+ "summary": "Lists the Azure Dev Spaces Controllers in a subscription.",
+ "description": "Lists all the Azure Dev Spaces Controllers with their properties in the subscription.",
+ "operationId": "Controllers_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the list of Azure Dev Spaces Controllers in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ControllerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ControllersList": {
+ "$ref": "./examples/ControllersList_example.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}/listConnectionDetails": {
+ "post": {
+ "tags": [
+ "Controllers"
+ ],
+ "summary": "Lists connection details for an Azure Dev Spaces Controller.",
+ "description": "Lists connection details for the underlying container resources of an Azure Dev Spaces Controller.",
+ "operationId": "Controllers_ListConnectionDetails",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/NameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the list of connection details for the Azure Dev Spaces Controller .",
+ "schema": {
+ "$ref": "#/definitions/ControllerConnectionDetailsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure. 404 - NotFound(Azure Dev Spaces Controller doesn't exist.)",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ControllersListConnectionDetails": {
+ "$ref": "./examples/ControllersListConnectionDetails_example.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ContainerHostMapping": {
+ "description": "Container host mapping object specifying the Container host resource ID and its associated Controller resource.",
+ "properties": {
+ "containerHostResourceId": {
+ "description": "ARM ID of the Container Host resource",
+ "type": "string"
+ },
+ "mappedControllerResourceId": {
+ "description": "ARM ID of the mapped Controller resource",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "tags": {
+ "description": "Tags for the Azure resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ]
+ },
+ "location": {
+ "description": "Region where the Azure resource is located.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "properties": {
+ "value": {
+ "description": "Resource provider operations list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next page for list of Azure operations.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceProviderOperationDefinition": {
+ "properties": {
+ "name": {
+ "description": "Resource provider operation name.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/ResourceProviderOperationDisplay"
+ }
+ }
+ },
+ "ResourceProviderOperationDisplay": {
+ "properties": {
+ "provider": {
+ "description": "Name of the resource provider.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the resource provider operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the resource provider operation.",
+ "type": "string"
+ }
+ }
+ },
+ "Controller": {
+ "required": [
+ "properties",
+ "sku",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ControllerProperties",
+ "x-ms-client-flatten": true
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku"
+ }
+ }
+ },
+ "ControllerProperties": {
+ "required": [
+ "targetContainerHostResourceId",
+ "targetContainerHostCredentialsBase64"
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the Azure Dev Spaces Controller.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Updating",
+ "Creating",
+ "Deleting",
+ "Deleted"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "hostSuffix": {
+ "description": "DNS suffix for public endpoints running in the Azure Dev Spaces Controller.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataPlaneFqdn": {
+ "description": "DNS name for accessing DataPlane services",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetContainerHostResourceId": {
+ "description": "Resource ID of the target container host",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "targetContainerHostCredentialsBase64": {
+ "description": "Credentials of the target container host (base64).",
+ "type": "string",
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ }
+ },
+ "Sku": {
+ "description": "Model representing SKU for Azure Dev Spaces Controller.",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the SKU for Azure Dev Spaces Controller.",
+ "enum": [
+ "S1"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The tier of the SKU for Azure Dev Spaces Controller.",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ControllerUpdateParameters": {
+ "description": "Parameters for updating an Azure Dev Spaces Controller.",
+ "properties": {
+ "tags": {
+ "description": "Tags for the Azure Dev Spaces Controller.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ControllerList": {
+ "properties": {
+ "value": {
+ "description": "List of Azure Dev Spaces Controllers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Controller"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next page for list of Azure Dev Spaces Controllers.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ControllerConnectionDetailsList": {
+ "properties": {
+ "connectionDetailsList": {
+ "description": "List of Azure Dev Spaces Controller connection details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ControllerConnectionDetails"
+ }
+ }
+ }
+ },
+ "ControllerConnectionDetails": {
+ "properties": {
+ "authKey": {
+ "description": "Authentication key for communicating with services.",
+ "type": "string",
+ "readOnly": true
+ },
+ "orchestratorSpecificConnectionDetails": {
+ "$ref": "#/definitions/OrchestratorSpecificConnectionDetails"
+ }
+ }
+ },
+ "OrchestratorSpecificConnectionDetails": {
+ "description": "Base class for types that supply values used to connect to container orchestrators",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "Resource": {
+ "description": "An Azure resource.",
+ "properties": {
+ "id": {
+ "description": "Fully qualified resource Id for the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "KubernetesConnectionDetails": {
+ "description": "Contains information used to connect to a Kubernetes cluster",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OrchestratorSpecificConnectionDetails"
+ }
+ ],
+ "properties": {
+ "kubeConfig": {
+ "description": "Gets the kubeconfig for the cluster.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "Kubernetes"
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDetails",
+ "description": "The details of the error."
+ }
+ }
+ },
+ "ErrorDetails": {
+ "properties": {
+ "code": {
+ "description": "Status code for the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message describing the error in detail.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "The target of the particular error.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group to which the resource belongs.",
+ "required": true,
+ "type": "string",
+ "maxLength": 90,
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "NameParameter": {
+ "name": "name",
+ "in": "path",
+ "description": "Name of the resource.",
+ "required": true,
+ "type": "string",
+ "maxLength": 31,
+ "minLength": 3,
+ "pattern": "^[a-zA-Z0-9](-?[a-zA-Z0-9])*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "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"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ContainerHostMappingsGetContainerHostMapping_example.json b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ContainerHostMappingsGetContainerHostMapping_example.json
new file mode 100644
index 000000000000..bb20aa6343b2
--- /dev/null
+++ b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ContainerHostMappingsGetContainerHostMapping_example.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "location": "eastus",
+ "containerHostMapping": {
+ "containerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myCluster"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "containerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myCluster",
+ "mappedControllerResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.DevSpaces/controllers/myController"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesCreate_example.json b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersCreate_example.json
similarity index 82%
rename from specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesCreate_example.json
rename to specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersCreate_example.json
index 31e4a855ac66..b9643c53efe2 100644
--- a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesCreate_example.json
+++ b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersCreate_example.json
@@ -1,10 +1,10 @@
{
"parameters": {
- "api-version": "2018-06-01-preview",
+ "api-version": "2019-01-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "myResourceGroup",
"name": "myControllerResource",
- "devSpaceCreateParameters": {
+ "controller": {
"location": "eastus",
"tags": {},
"sku": {
@@ -12,9 +12,8 @@
"tier": "Standard"
},
"properties": {
- "hostSuffix": "suffix",
"targetContainerHostCredentialsBase64": "QmFzZTY0IEVuY29kZWQgVmFsdWUK",
- "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
+ "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myCluster"
}
}
},
@@ -32,9 +31,9 @@
},
"properties": {
"provisioningState": "Succeeded",
- "hostSuffix": "suffix",
+ "hostSuffix": "suffix.azds.io",
"dataPlaneFqdn": "dataplane.azds.io",
- "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
+ "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myCluster"
}
}
},
@@ -51,9 +50,7 @@
},
"properties": {
"provisioningState": "Creating",
- "hostSuffix": "suffix",
- "dataPlaneFqdn": "dataplane.azds.io",
- "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
+ "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myCluster"
}
}
}
diff --git a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesDelete_example.json b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersDelete_example.json
similarity index 91%
rename from specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesDelete_example.json
rename to specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersDelete_example.json
index 187f17b7a0b1..a06c752386a4 100644
--- a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesDelete_example.json
+++ b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersDelete_example.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "api-version": "2018-06-01-preview",
+ "api-version": "2019-01-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "myResourceGroup",
"name": "myControllerResource"
diff --git a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesGet_example.json b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersGet_example.json
similarity index 85%
rename from specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesGet_example.json
rename to specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersGet_example.json
index f6deb02784f9..adad206304c5 100644
--- a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesGet_example.json
+++ b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersGet_example.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "api-version": "2018-06-01-preview",
+ "api-version": "2019-01-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "myResourceGroup",
"name": "myControllerResource"
@@ -19,9 +19,9 @@
},
"properties": {
"provisioningState": "Succeeded",
- "hostSuffix": "suffix",
+ "hostSuffix": "suffix.azds.io",
"dataPlaneFqdn": "dataplane.azds.io",
- "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
+ "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myCluster"
}
}
}
diff --git a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesListByResourceGroup_example.json b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersListByResourceGroup_example.json
similarity index 85%
rename from specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesListByResourceGroup_example.json
rename to specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersListByResourceGroup_example.json
index 06ec0347ede0..5d4bae4c29ec 100644
--- a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesListByResourceGroup_example.json
+++ b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersListByResourceGroup_example.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "api-version": "2018-06-01-preview",
+ "api-version": "2019-01-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "myResourceGroup"
},
@@ -20,9 +20,9 @@
},
"properties": {
"provisioningState": "Succeeded",
- "hostSuffix": "suffix",
+ "hostSuffix": "suffix.azds.io",
"dataPlaneFqdn": "dataplane.azds.io",
- "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
+ "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myCluster"
}
}
]
diff --git a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesListConnectionDetails_example.json b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersListConnectionDetails_example.json
similarity index 73%
rename from specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesListConnectionDetails_example.json
rename to specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersListConnectionDetails_example.json
index 5ef702bf8155..101851f45cf7 100644
--- a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesListConnectionDetails_example.json
+++ b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersListConnectionDetails_example.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "api-version": "2018-06-01-preview",
+ "api-version": "2019-01-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "myResourceGroup",
"name": "myControllerResource"
@@ -11,8 +11,6 @@
"connectionDetailsList": [
{
"authKey": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
- "workspaceStorageAccountName": "storageAccount",
- "workspaceStorageSasToken": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"orchestratorSpecificConnectionDetails": {
"instanceType": "Kubernetes",
"kubeConfig": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
diff --git a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesList_example.json b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersList_example.json
similarity index 85%
rename from specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesList_example.json
rename to specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersList_example.json
index 7c34aed6946e..799d2f698fa7 100644
--- a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesList_example.json
+++ b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersList_example.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "api-version": "2018-06-01-preview",
+ "api-version": "2019-01-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000"
},
"responses": {
@@ -19,9 +19,9 @@
},
"properties": {
"provisioningState": "Succeeded",
- "hostSuffix": "suffix",
+ "hostSuffix": "suffix.azds.io",
"dataPlaneFqdn": "dataplane.azds.io",
- "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
+ "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myCluster"
}
}
]
diff --git a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesUpdate_example.json b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersUpdate_example.json
similarity index 50%
rename from specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesUpdate_example.json
rename to specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersUpdate_example.json
index ac792de99122..8f561a62b5b0 100644
--- a/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2018-06-01-preview/examples/ControllerResourcesUpdate_example.json
+++ b/specification/devspaces/resource-manager/Microsoft.DevSpaces/preview/2019-01-01-preview/examples/ControllersUpdate_example.json
@@ -1,10 +1,10 @@
{
"parameters": {
- "api-version": "2018-06-01-preview",
+ "api-version": "2019-01-01-preview",
"subscriptionId": "00000000-0000-0000-0000-000000000000",
"resourceGroupName": "myResourceGroup",
"name": "myControllerResource",
- "devSpaceUpdateParameters": {
+ "controllerUpdateParameters": {
"tags": {
"key": "value"
}
@@ -26,28 +26,9 @@
},
"properties": {
"provisioningState": "Succeeded",
- "hostSuffix": "suffix",
+ "hostSuffix": "suffix.azds.io",
"dataPlaneFqdn": "dataplane.azds.io",
- "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DevSpaces/controllers/myControllerResource",
- "name": "myControllerResource",
- "type": "Microsoft.DevSpaces/controllers",
- "location": "eastus",
- "tags": {},
- "sku": {
- "name": "S1",
- "tier": "Standard"
- },
- "properties": {
- "provisioningState": "Updating",
- "hostSuffix": "suffix",
- "dataPlaneFqdn": "dataplane.azds.io",
- "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedCluster/myCluster"
+ "targetContainerHostResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myCluster"
}
}
}
diff --git a/specification/devspaces/resource-manager/readme.go.md b/specification/devspaces/resource-manager/readme.go.md
index 38d4496042d2..f81c7fda558f 100644
--- a/specification/devspaces/resource-manager/readme.go.md
+++ b/specification/devspaces/resource-manager/readme.go.md
@@ -14,6 +14,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2018-06-01-preview
+ - tag: package-2019-01-01-preview
```
### Tag: package-2018-06-01-preview and go
@@ -23,4 +24,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-01-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-01-01-preview/$(namespace)
```
\ No newline at end of file
diff --git a/specification/devspaces/resource-manager/readme.md b/specification/devspaces/resource-manager/readme.md
index 2e956c19fa8f..4920ccae6b7a 100644
--- a/specification/devspaces/resource-manager/readme.md
+++ b/specification/devspaces/resource-manager/readme.md
@@ -27,7 +27,16 @@ These are the global settings for the DevSpaces API.
title: DevSpacesManagementClient
description: Dev Spaces Client
openapi-type: arm
-tag: package-2018-06-01-preview
+tag: package-2019-01-01-preview
+```
+
+### Tag: package-2019-01-01-preview
+
+These settings apply only when `--tag=package-2019-01-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-01-01-preview'
+input-file:
+- Microsoft.DevSpaces/preview/2019-01-01-preview/devspaces.json
```
### Tag: package-2018-06-01-preview
@@ -95,6 +104,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-devspaces
``` yaml $(java) && $(multiapi)
batch:
- tag: package-2018-06-01-preview
+ - tag: package-2019-01-01-preview
```
### Tag: package-2018-06-01-preview and java
@@ -108,4 +118,17 @@ java:
output-folder: $(azure-libraries-for-java-folder)/devspaces/resource-manager/v2018_06_01_preview
regenerate-manager: true
generate-interface: true
+```
+
+### Tag: package-2019-01-01-preview and java
+
+These settings apply only when `--tag=2019-01-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag)=='package-2019-01-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.devspaces.v2019_01_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/devspaces/resource-manager/v2019_01_01_preview
+regenerate-manager: true
+generate-interface: true
```
\ No newline at end of file
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ClaimAnyVm.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ClaimAnyVm.json
index ce186cf5cec0..8e5a46ad07ea 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ClaimAnyVm.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ClaimAnyVm.json
@@ -3,7 +3,7 @@
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"name": "{devtestlab-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"monitor": "true"
},
"responses": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_CreateEnvironment.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_CreateEnvironment.json
index e4f72214e0b8..2555be1b6585 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_CreateEnvironment.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_CreateEnvironment.json
@@ -3,7 +3,7 @@
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"name": "{devtestlab-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"labVirtualMachineCreationParameter": {
"properties": {
"osType": "Linux",
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_CreateOrUpdate.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_CreateOrUpdate.json
index d80294795e2c..b6f5160c688c 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_CreateOrUpdate.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_CreateOrUpdate.json
@@ -3,7 +3,7 @@
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"name": "{devtestlab-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"lab": {
"properties": {
"labStorageType": "{Standard|Premium}"
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Delete.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Delete.json
index 69dc3d95bebe..d30cbc0c6b1d 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Delete.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Delete.json
@@ -3,7 +3,7 @@
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"name": "{devtestlab-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_GenerateUploadUri.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_GenerateUploadUri.json
index a84e61122adb..297f5d014680 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_GenerateUploadUri.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_GenerateUploadUri.json
@@ -3,7 +3,7 @@
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"name": "{devtestlab-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"generateUploadUriParameter": {
"blobName": "{blob-name}"
}
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Get.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Get.json
index 1f56023f25b8..2fb63de949c6 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Get.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Get.json
@@ -3,7 +3,7 @@
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"name": "{devtestlab-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ListByResourceGroup.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ListByResourceGroup.json
index 6cc3c30ad64d..4e37aac9e6d5 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ListByResourceGroup.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ListByResourceGroup.json
@@ -2,7 +2,7 @@
"parameters": {
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ListBySubscription.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ListBySubscription.json
index cdae8b2f96e6..fb715b6a40cb 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ListBySubscription.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_ListBySubscription.json
@@ -1,7 +1,7 @@
{
"parameters": {
"subscriptionId": "{subscription-id}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Update.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Update.json
index 242a31478233..7aa97b304fc2 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Update.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/Labs_Update.json
@@ -3,7 +3,7 @@
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"name": "{devtestlab-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"lab": {
"properties": {
"labStorageType": "Premium"
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/ProviderOperations_List.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/ProviderOperations_List.json
index 762f1f69fc44..f74626609568 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/ProviderOperations_List.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/ProviderOperations_List.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Claim.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Claim.json
index 735b68da17b0..295b161bbf2c 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Claim.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Claim.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_CreateOrUpdate.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_CreateOrUpdate.json
index dfe3a0c00834..082c8e29c18a 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_CreateOrUpdate.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_CreateOrUpdate.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"labVirtualMachine": {
"properties": {
"osType": "Linux",
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Delete.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Delete.json
index ae456eab47a4..84c979344762 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Delete.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Delete.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Get.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Get.json
index a09a6fa966fa..dee2632be7fc 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Get.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Get.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_GetRdpFileContents.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_GetRdpFileContents.json
index 6fc0184759c7..d95c74f710cd 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_GetRdpFileContents.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_GetRdpFileContents.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_List.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_List.json
index c8d5079322db..f9ad5030d076 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_List.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_List.json
@@ -3,7 +3,7 @@
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Redeploy.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Redeploy.json
index 9f39bf9443c4..f6cea45cb0f8 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Redeploy.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Redeploy.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"monitor": "true"
},
"responses": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Resize.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Resize.json
index 8bb556bf7b27..823b697d9851 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Resize.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Resize.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"monitor": "true",
"resizeLabVirtualMachineProperties": {
"size": "Standard_A4_v2"
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Restart.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Restart.json
index 9f39bf9443c4..f6cea45cb0f8 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Restart.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Restart.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"monitor": "true"
},
"responses": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Start.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Start.json
index 9f39bf9443c4..f6cea45cb0f8 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Start.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Start.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"monitor": "true"
},
"responses": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Stop.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Stop.json
index 735b68da17b0..295b161bbf2c 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Stop.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Stop.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_UnClaim.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_UnClaim.json
index 9f39bf9443c4..f6cea45cb0f8 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_UnClaim.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_UnClaim.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"monitor": "true"
},
"responses": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Update.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Update.json
index 991168c9b4e7..30b5739db955 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Update.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualMachines_Update.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualmachine-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"labVirtualMachine": {
"properties": {
"notes": "Updated notes"
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_CreateOrUpdate.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_CreateOrUpdate.json
index 3412abbdc64d..b9ae334414e9 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_CreateOrUpdate.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_CreateOrUpdate.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualnetwork-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"virtualNetwork": {
"location": "{azure-location}",
"tags": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Delete.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Delete.json
index 045990ab9fa5..88cdf9309b3d 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Delete.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Delete.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualnetwork-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Get.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Get.json
index 7104de5c9cda..297ad649a413 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Get.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Get.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualnetwork-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_List.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_List.json
index b905f79e2338..79f9cb3e849e 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_List.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_List.json
@@ -3,7 +3,7 @@
"subscriptionId": "{subscription-id}",
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
- "api-version": "2018-10-15-preview"
+ "api-version": "2018-09-15"
},
"responses": {
"200": {
diff --git a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Update.json b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Update.json
index d439c40e4cd7..00064846e0bb 100644
--- a/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Update.json
+++ b/specification/devtestlabs/resource-manager/Microsoft.DevTestLab/stable/2018-09-15/examples/VirtualNetworks_Update.json
@@ -4,7 +4,7 @@
"resourceGroupName": "myResourceGroup",
"labName": "{devtestlab-name}",
"name": "{virtualnetwork-name}",
- "api-version": "2018-10-15-preview",
+ "api-version": "2018-09-15",
"virtualNetwork": {
"properties": {
"subnetOverrides": [
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/edgegateway.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/edgegateway.json
new file mode 100644
index 000000000000..65066c15be63
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/edgegateway.json
@@ -0,0 +1,4005 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-03-01",
+ "title": "DataBoxEdgeManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [ "https" ],
+ "consumes": [ "application/json" ],
+ "produces": [ "application/json" ],
+ "paths": {
+ "/providers/Microsoft.DataBoxEdge/operations": {
+ "get": {
+ "tags": [ "Operations" ],
+ "summary": "List all the supported operations.",
+ "operationId": "Operations_List",
+ "parameters": [ { "$ref": "#/parameters/apiVersionParameter" } ],
+ "responses": {
+ "200": {
+ "description": "List of supported operations.",
+ "schema": { "$ref": "#/definitions/OperationsList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": {
+ "get": {
+ "tags": [ "Devices" ],
+ "description": "Gets all the data box edge/gateway devices in a subscription.",
+ "operationId": "Devices_ListBySubscription",
+ "parameters": [
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of data box edge/gateway devices.",
+ "schema": { "$ref": "#/definitions/DataBoxEdgeDeviceList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetBySubscription": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": {
+ "get": {
+ "tags": [ "Devices" ],
+ "description": "Gets all the data box edge/gateway devices in a resource group.",
+ "operationId": "Devices_ListByResourceGroup",
+ "parameters": [
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of data box edge/gateway devices.",
+ "schema": { "$ref": "#/definitions/DataBoxEdgeDeviceList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetByResourceGroup": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}": {
+ "get": {
+ "tags": [ "Devices" ],
+ "description": "Gets the properties of the data box edge/gateway device.",
+ "operationId": "Devices_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The data box edge/gateway device.",
+ "schema": { "$ref": "#/definitions/DataBoxEdgeDevice" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetByName": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByName.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "Devices" ],
+ "description": "Creates or updates a Data Box Edge/Gateway resource.",
+ "operationId": "Devices_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "DataBoxEdgeDevice",
+ "in": "body",
+ "description": "The resource object.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/DataBoxEdgeDevice" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the resource.",
+ "schema": { "$ref": "#/definitions/DataBoxEdgeDevice" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePut": {
+ "$ref": "./examples/DataBoxEdgeDevicePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "Devices" ],
+ "description": "Deletes the data box edge/gateway device.",
+ "operationId": "Devices_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully deleted the resource." },
+ "202": { "description": "Accepted the request to delete the resource." },
+ "204": { "description": "The resource is already deleted." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceDelete": {
+ "$ref": "./examples/DataBoxEdgeDeviceDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [ "Devices" ],
+ "description": "Modifies a Data Box Edge/Gateway resource.",
+ "operationId": "Devices_Update",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The resource parameters.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/DataBoxEdgeDevicePatch" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the resource.",
+ "schema": { "$ref": "#/definitions/DataBoxEdgeDevice" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePatch": {
+ "$ref": "./examples/DataBoxEdgeDevicePatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts": {
+ "get": {
+ "tags": [ "Alerts" ],
+ "description": "Gets all the alerts for a data box edge/gateway device.",
+ "operationId": "Alerts_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of alerts.",
+ "schema": { "$ref": "#/definitions/AlertList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "AlertGetAllInDevice": {
+ "$ref": "./examples/AlertGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}": {
+ "get": {
+ "tags": [ "Alerts" ],
+ "summary": "Gets an alert by name.",
+ "operationId": "Alerts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The alert name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The alert details.",
+ "schema": { "$ref": "#/definitions/Alert" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "AlertGet": {
+ "$ref": "./examples/AlertGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules": {
+ "get": {
+ "tags": [ "BandwidthSchedules" ],
+ "description": "Gets all the bandwidth schedules for a data box edge/gateway device.",
+ "operationId": "BandwidthSchedules_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of bandwidth schedules.",
+ "schema": { "$ref": "#/definitions/BandwidthSchedulesList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "BandwidthScheduleGetAllInDevice": {
+ "$ref": "./examples/BandwidthScheduleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}": {
+ "get": {
+ "tags": [ "BandwidthSchedules" ],
+ "description": "Gets the properties of the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The bandwidth schedule.",
+ "schema": { "$ref": "#/definitions/BandwidthSchedule" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "BandwidthScheduleGet": {
+ "$ref": "./examples/BandwidthScheduleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "BandwidthSchedules" ],
+ "description": "Creates or updates a bandwidth schedule.",
+ "operationId": "BandwidthSchedules_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name which needs to be added/updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The bandwidth schedule to be added or updated.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/BandwidthSchedule" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the bandwidth schedule.",
+ "schema": { "$ref": "#/definitions/BandwidthSchedule" }
+ },
+ "202": { "description": "Accepted the request to create or update the bandwidth schedule." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthSchedulePut": {
+ "$ref": "./examples/BandwidthSchedulePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "BandwidthSchedules" ],
+ "description": "Deletes the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully deleted the bandwidth schedule." },
+ "202": { "description": "Accepted the request to delete the bandwidth schedule." },
+ "204": { "description": "Successfully deleted the bandwidth schedule." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthScheduleDelete": {
+ "$ref": "./examples/BandwidthScheduleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates": {
+ "post": {
+ "tags": [ "Devices" ],
+ "summary": "Downloads the updates on a data box edge/gateway device.",
+ "operationId": "Devices_DownloadUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully downloaded the updates on the device." },
+ "202": { "description": "Accepted the request to download the updates on the device." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DownloadUpdatesPost": {
+ "$ref": "./examples/DownloadUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": {
+ "post": {
+ "tags": [ "Devices" ],
+ "description": "Gets additional information for the specified data box edge/gateway device.",
+ "operationId": "Devices_GetExtendedInformation",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The additional information.",
+ "schema": { "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "ExtendedInfoPost": {
+ "$ref": "./examples/ExtendedInfoPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates": {
+ "post": {
+ "tags": [ "Devices" ],
+ "summary": "Installs the updates on the data box edge/gateway device.",
+ "operationId": "Devices_InstallUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully installed updates on the device." },
+ "202": { "description": "Accepted the request to install updates on the device." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "InstallUpdatesPost": {
+ "$ref": "./examples/InstallUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}": {
+ "get": {
+ "tags": [ "Jobs" ],
+ "summary": "Gets the details of a specified job on a data box edge/gateway device.",
+ "operationId": "Jobs_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": { "$ref": "#/definitions/Job" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default": {
+ "get": {
+ "tags": [ "Devices" ],
+ "description": "Gets the network settings of the specified data box edge/gateway device.",
+ "operationId": "Devices_GetNetworkSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The device network settings.",
+ "schema": { "$ref": "#/definitions/NetworkSettings" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSettingsGet": {
+ "$ref": "./examples/NetworkSettingsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}": {
+ "get": {
+ "tags": [ "OperationsStatus" ],
+ "summary": "Gets the details of a specified job on a data box edge/gateway device.",
+ "operationId": "OperationsStatus_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": { "$ref": "#/definitions/Job" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "OperationsStatusGet": {
+ "$ref": "./examples/OperationsStatusGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders": {
+ "get": {
+ "tags": [ "Orders" ],
+ "summary": "Lists all the orders related to a data box edge/gateway device.",
+ "operationId": "Orders_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists all the orders for the Data Box Edge Device",
+ "schema": { "$ref": "#/definitions/OrderList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "OrderGetAllInDevice": {
+ "$ref": "./examples/OrderGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default": {
+ "get": {
+ "tags": [ "Orders" ],
+ "summary": "Gets a specific order by name.",
+ "operationId": "Orders_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The order details of a device.",
+ "schema": { "$ref": "#/definitions/Order" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "OrderGet": {
+ "$ref": "./examples/OrderGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "Orders" ],
+ "summary": "Creates or updates an order.",
+ "operationId": "Orders_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "order",
+ "in": "body",
+ "description": "The order to be created or updated.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/Order" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the order.",
+ "schema": { "$ref": "#/definitions/Order" }
+ },
+ "202": { "description": "Accepted the request to create or update the order." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderPut": {
+ "$ref": "./examples/OrderPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "Orders" ],
+ "summary": "Deletes the order related to the device.",
+ "operationId": "Orders_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully deleted the order." },
+ "202": { "description": "Accepted the request to delete the order." },
+ "204": { "description": "The order is already deleted." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderDelete": {
+ "$ref": "./examples/OrderDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles": {
+ "get": {
+ "tags": [ "Roles" ],
+ "description": "Lists all the roles configured in a data box edge/gateway device.",
+ "operationId": "Roles_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the roles configured in the device.",
+ "schema": { "$ref": "#/definitions/RoleList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "RoleGetAllInDevice": {
+ "$ref": "./examples/RoleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}": {
+ "get": {
+ "tags": [ "Roles" ],
+ "description": "Gets a specific role by name.",
+ "operationId": "Roles_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The role with the specified name in the given device.",
+ "schema": { "$ref": "#/definitions/Role" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "RoleGet": {
+ "$ref": "./examples/RoleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "Roles" ],
+ "description": "Create or update a role.",
+ "operationId": "Roles_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "role",
+ "in": "body",
+ "description": "The role properties.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/Role" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the role.",
+ "schema": { "$ref": "#/definitions/Role" }
+ },
+ "202": { "description": "Accepted the request to create or update the role." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RolePut": {
+ "$ref": "./examples/RolePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "Roles" ],
+ "description": "Deletes the role on the data box edge device.",
+ "operationId": "Roles_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully deleted the role." },
+ "202": { "description": "Accepted the request to delete the role." },
+ "204": { "description": "The role is already deleted." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RoleDelete": {
+ "$ref": "./examples/RoleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates": {
+ "post": {
+ "tags": [ "Devices" ],
+ "summary": "Scans for updates on a data box edge/gateway device.",
+ "operationId": "Devices_ScanForUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully scanned the device for updates." },
+ "202": { "description": "Accepted the request to scan for updates on the device." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ScanForUpdatesPost": {
+ "$ref": "./examples/ScanForUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update": {
+ "post": {
+ "tags": [ "Devices" ],
+ "description": "Updates the security settings on a data box edge/gateway device.",
+ "operationId": "Devices_CreateOrUpdateSecuritySettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "securitySettings",
+ "in": "body",
+ "description": "The security settings.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/SecuritySettings" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "202": { "description": "Accepted the request to update the security settings." },
+ "204": { "description": "Updated the security settings." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareGetAllInDevice": {
+ "$ref": "./examples/SecuritySettingsUpdatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares": {
+ "get": {
+ "tags": [ "Shares" ],
+ "summary": "Lists all the shares in a data box edge/gateway device.",
+ "operationId": "Shares_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the shares on the device.",
+ "schema": { "$ref": "#/definitions/ShareList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "ShareGetAllInDevice": {
+ "$ref": "./examples/ShareGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}": {
+ "get": {
+ "tags": [ "Shares" ],
+ "summary": "Gets a share by name.",
+ "operationId": "Shares_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The share details.",
+ "schema": { "$ref": "#/definitions/Share" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "ShareGet": {
+ "$ref": "./examples/ShareGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "Shares" ],
+ "summary": "Creates a new share or updates an existing share on the device.",
+ "operationId": "Shares_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "in": "body",
+ "description": "The share properties.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/Share" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the share.",
+ "schema": { "$ref": "#/definitions/Share" }
+ },
+ "202": { "description": "Accepted the request to create or update the share." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SharePut": {
+ "$ref": "./examples/SharePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "Shares" ],
+ "description": "Deletes the share on the data box edge/gateway device.",
+ "operationId": "Shares_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully deleted the share." },
+ "202": { "description": "Accepted the request to delete the share." },
+ "204": { "description": "The share is already deleted." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareDelete": {
+ "$ref": "./examples/ShareDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh": {
+ "post": {
+ "tags": [ "Shares" ],
+ "summary": "Refreshes the share metadata with the data from the cloud.",
+ "operationId": "Shares_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully refreshed the share on the device." },
+ "202": { "description": "Accepted the request to refresh the share on the device." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareRefreshPost": {
+ "$ref": "./examples/ShareRefreshPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials": {
+ "get": {
+ "tags": [ "StorageAccountCredentials" ],
+ "summary": "Gets all the storage account credentials in a data box edge/gateway device.",
+ "operationId": "StorageAccountCredentials_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of storage account credentials.",
+ "schema": { "$ref": "#/definitions/StorageAccountCredentialList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "SACGetAllInDevice": {
+ "$ref": "./examples/SACGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}": {
+ "get": {
+ "tags": [ "StorageAccountCredentials" ],
+ "description": "Gets the properties of the specified storage account credential.",
+ "operationId": "StorageAccountCredentials_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account credential properties.",
+ "schema": { "$ref": "#/definitions/StorageAccountCredential" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "SACGet": {
+ "$ref": "./examples/SACGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "StorageAccountCredentials" ],
+ "description": "Creates or updates the storage account credential.",
+ "operationId": "StorageAccountCredentials_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountCredential",
+ "in": "body",
+ "description": "The storage account credential.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/StorageAccountCredential" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the storage account credential.",
+ "schema": { "$ref": "#/definitions/StorageAccountCredential" }
+ },
+ "202": { "description": "Accepted the request to create or update the storage account credential." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACPut": {
+ "$ref": "./examples/SACPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "StorageAccountCredentials" ],
+ "description": "Deletes the storage account credential.",
+ "operationId": "StorageAccountCredentials_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully deleted the storage account credential." },
+ "202": { "description": "Accepted the request to delete the storage account credential." },
+ "204": { "description": "The storage account credential is already deleted." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACDelete": {
+ "$ref": "./examples/SACDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers": {
+ "get": {
+ "tags": [ "Triggers" ],
+ "description": "Lists all the triggers configured in the device.",
+ "operationId": "Triggers_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $filter='CustomContextTag eq ' to filter on custom context tag property",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List all the triggers configured in the device",
+ "schema": { "$ref": "#/definitions/TriggerList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "TriggerGetAllInDevice": {
+ "$ref": "./examples/TriggerGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}": {
+ "get": {
+ "tags": [ "Triggers" ],
+ "description": "Get a specific trigger by name.",
+ "operationId": "Triggers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The trigger.",
+ "schema": { "$ref": "#/definitions/Trigger" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "TriggerGet": {
+ "$ref": "./examples/TriggerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "Triggers" ],
+ "description": "Creates or updates a trigger.",
+ "operationId": "Triggers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "Creates or updates a trigger",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "trigger",
+ "in": "body",
+ "description": "The trigger.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/Trigger" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the trigger.",
+ "schema": { "$ref": "#/definitions/Trigger" }
+ },
+ "202": { "description": "Accepted the request to create or update the trigger." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerPut": {
+ "$ref": "./examples/TriggerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "Triggers" ],
+ "description": "Deletes the trigger on the gateway device.",
+ "operationId": "Triggers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully deleted the trigger." },
+ "202": { "description": "Accepted the request to delete the trigger." },
+ "204": { "description": "The trigger is already deleted." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerDelete": {
+ "$ref": "./examples/TriggerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default": {
+ "get": {
+ "tags": [ "Devices" ],
+ "summary": "Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.",
+ "operationId": "Devices_GetUpdateSummary",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update summary.",
+ "schema": { "$ref": "#/definitions/UpdateSummary" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateSummaryGet": {
+ "$ref": "./examples/UpdateSummaryGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate": {
+ "post": {
+ "tags": [ "Devices" ],
+ "description": "Uploads registration certificate for the device.",
+ "operationId": "Devices_UploadCertificate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The upload certificate request.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/UploadCertificateRequest" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully uploaded the registration certificate.",
+ "schema": { "$ref": "#/definitions/UploadCertificateResponse" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "UploadCertificatePost": {
+ "$ref": "./examples/UploadCertificatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users": {
+ "get": {
+ "tags": [ "Users" ],
+ "description": "Gets all the users registered on a data box edge/gateway device.",
+ "operationId": "Users_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all users on the device.",
+ "schema": { "$ref": "#/definitions/UserList" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-pageable": { "nextLinkName": "nextLink" },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/UserGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}": {
+ "get": {
+ "tags": [ "Users" ],
+ "description": "Gets the properties of the specified user.",
+ "operationId": "Users_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user details.",
+ "schema": { "$ref": "#/definitions/User" }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-examples": {
+ "UserGet": {
+ "$ref": "./examples/UserGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [ "Users" ],
+ "description": "Creates a new user or updates an existing user's information on a data box edge/gateway device.",
+ "operationId": "Users_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "user",
+ "in": "body",
+ "description": "The user details.",
+ "required": true,
+ "schema": { "$ref": "#/definitions/User" }
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the user.",
+ "schema": { "$ref": "#/definitions/User" }
+ },
+ "202": { "description": "Accepted the request to create or update the user." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserPut": {
+ "$ref": "./examples/UserPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [ "Users" ],
+ "description": "Deletes the user on a databox edge/gateway device.",
+ "operationId": "Users_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ { "$ref": "#/parameters/subscriptionIdParameter" },
+ { "$ref": "#/parameters/resourceGroupNameParameter" },
+ { "$ref": "#/parameters/apiVersionParameter" }
+ ],
+ "responses": {
+ "200": { "description": "Successfully deleted the user." },
+ "202": { "description": "Accepted the request to delete the user." },
+ "204": { "description": "The user is already deleted." },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": { "$ref": "#/definitions/CloudError" }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserDelete": {
+ "$ref": "./examples/UserDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Address": {
+ "description": "The shipping address of the customer.",
+ "required": [ "addressLine1", "postalCode", "city", "state", "country" ],
+ "type": "object",
+ "properties": {
+ "addressLine1": {
+ "description": "The address line1.",
+ "type": "string"
+ },
+ "addressLine2": {
+ "description": "The address line2.",
+ "type": "string"
+ },
+ "addressLine3": {
+ "description": "The address line3.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "The postal code.",
+ "type": "string"
+ },
+ "city": {
+ "description": "The city name.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state name.",
+ "type": "string"
+ },
+ "country": {
+ "description": "The country name.",
+ "type": "string"
+ }
+ }
+ },
+ "Alert": {
+ "description": "Alert on the data box edge/gateway device.",
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AlertProperties",
+ "description": "Properties of alert.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AlertErrorDetails": {
+ "description": "Error details for the alert.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "Error Message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "occurrences": {
+ "format": "int32",
+ "description": "Number of occurrences.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertList": {
+ "description": "Collection of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/Alert" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertProperties": {
+ "description": "Properties of alert.",
+ "type": "object",
+ "properties": {
+ "title": {
+ "description": "Alert title.",
+ "type": "string",
+ "readOnly": true
+ },
+ "alertType": {
+ "description": "Alert type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "appearedAtDateTime": {
+ "format": "date-time",
+ "description": "UTC time when the alert appeared.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendation": {
+ "description": "Alert recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "severity": {
+ "description": "Severity of the alert.",
+ "enum": [ "Informational", "Warning", "Critical" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AlertSeverity",
+ "modelAsString": true
+ }
+ },
+ "errorDetails": {
+ "$ref": "#/definitions/AlertErrorDetails",
+ "description": "Error details of the alert.",
+ "readOnly": true
+ },
+ "detailedInformation": {
+ "description": "Alert details.",
+ "type": "object",
+ "additionalProperties": { "type": "string" },
+ "readOnly": true
+ }
+ }
+ },
+ "ARMBaseModel": {
+ "description": "Represents the base class for all object models.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "AsymmetricEncryptedSecret": {
+ "description": "Represent the secrets intended for encryption with asymmetric key pair.",
+ "required": [ "value", "encryptionAlgorithm" ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value of the secret.",
+ "type": "string"
+ },
+ "encryptionCertThumbprint": {
+ "description": "Thumbprint certificate used to encrypt \\\"Value\\\". If the value is unencrypted, it will be null.",
+ "type": "string"
+ },
+ "encryptionAlgorithm": {
+ "description": "The algorithm used to encrypt \"Value\".",
+ "enum": [ "None", "AES256", "RSAES_PKCS1_v_1_5" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionAlgorithm",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Authentication": {
+ "description": "Authentication mechanism for IoT devices.",
+ "type": "object",
+ "properties": {
+ "symmetricKey": {
+ "$ref": "#/definitions/SymmetricKey",
+ "description": "Symmetric key for authentication."
+ }
+ }
+ },
+ "AzureContainerInfo": {
+ "description": "Azure container mapping of the endpoint.",
+ "required": [ "storageAccountCredentialId", "containerName", "dataFormat" ],
+ "type": "object",
+ "properties": {
+ "storageAccountCredentialId": {
+ "description": "ID of the storage account credential used to access storage.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob).",
+ "type": "string"
+ },
+ "dataFormat": {
+ "description": "Storage format used for the file represented by the share.",
+ "enum": [ "BlockBlob", "PageBlob", "AzureFile" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BandwidthSchedule": {
+ "description": "The bandwidth schedule details.",
+ "required": [ "properties" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BandwidthScheduleProperties",
+ "description": "The properties of the bandwidth schedule.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "BandwidthScheduleProperties": {
+ "description": "The properties of the bandwidth schedule.",
+ "required": [ "start", "stop", "rateInMbps", "days" ],
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "The start time of the schedule in UTC.",
+ "type": "string"
+ },
+ "stop": {
+ "description": "The stop time of the schedule in UTC.",
+ "type": "string"
+ },
+ "rateInMbps": {
+ "format": "int32",
+ "description": "The bandwidth rate in Mbps.",
+ "type": "integer"
+ },
+ "days": {
+ "description": "The days of the week when this schedule is applicable.",
+ "type": "array",
+ "items": {
+ "enum": [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "BandwidthSchedulesList": {
+ "description": "The collection of bandwidth schedules.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of bandwidth schedules.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/BandwidthSchedule" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClientAccessRight": {
+ "description": "The mapping between a particular client IP and the type of access client has on the NFS share.",
+ "required": [ "client", "accessPermission" ],
+ "type": "object",
+ "properties": {
+ "client": {
+ "description": "IP of the client.",
+ "type": "string"
+ },
+ "accessPermission": {
+ "description": "Type of access to be allowed for the client.",
+ "enum": [ "NoAccess", "ReadOnly", "ReadWrite" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClientPermissionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error details."
+ }
+ },
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "description": "An error response from the service.",
+ "properties": {
+ "code": {
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A message describing the error, intended to be suitable for display in a user interface.",
+ "type": "string"
+ },
+ "details": {
+ "description": "A list of additional details about the error.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/CloudErrorBody" }
+ }
+ },
+ "x-ms-external": true
+ },
+ "ContactDetails": {
+ "description": "Contains all the contact details of the customer.",
+ "required": [ "contactPerson", "companyName", "phone", "emailList" ],
+ "type": "object",
+ "properties": {
+ "contactPerson": {
+ "description": "The contact person name.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "The name of the company.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "The phone number.",
+ "type": "string"
+ },
+ "emailList": {
+ "description": "The email list.",
+ "type": "array",
+ "items": { "type": "string" }
+ }
+ }
+ },
+ "DataBoxEdgeDevice": {
+ "description": "The Data Box Edge/Gateway device.",
+ "required": [ "location" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "location": {
+ "description": "The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed.",
+ "type": "string",
+ "x-ms-mutability": [ "read", "create" ]
+ },
+ "tags": {
+ "description": "The list of tags that describe the device. These tags can be used to view and group this device (across resource groups).",
+ "type": "object",
+ "additionalProperties": { "type": "string" }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU type."
+ },
+ "etag": {
+ "description": "The etag for the devices.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceProperties",
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfo": {
+ "description": "The extended Info of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoProperties",
+ "description": "The extended info properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfoProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device extended info.",
+ "type": "object",
+ "properties": {
+ "encryptionKeyThumbprint": {
+ "description": "The digital signature of encrypted certificate.",
+ "type": "string"
+ },
+ "encryptionKey": {
+ "description": "The public part of the encryption certificate. Client uses this to encrypt any secret.",
+ "type": "string"
+ },
+ "resourceKey": {
+ "description": "The Resource ID of the Resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceList": {
+ "description": "The collection of Data Box Edge/Gateway devices.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Data Box Edge/Gateway devices.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/DataBoxEdgeDevice" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevicePatch": {
+ "description": "The Data Box Edge/Gateway device patch.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags attached to the Data Box Edge/Gateway resource.",
+ "type": "object",
+ "additionalProperties": { "type": "string" }
+ }
+ }
+ },
+ "DataBoxEdgeDeviceProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": {
+ "description": "The status of the Data Box Edge/Gateway device.",
+ "enum": [ "ReadyToSetup", "Online", "Offline", "NeedsAttention", "Disconnected", "PartiallyDisconnected" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataBoxEdgeDeviceStatus",
+ "modelAsString": true
+ }
+ },
+ "serialNumber": {
+ "description": "The Serial Number of Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The Description of the Data Box Edge/Gateway device.",
+ "type": "string"
+ },
+ "modelDescription": {
+ "description": "The description of the Data Box Edge/Gateway device model.",
+ "type": "string"
+ },
+ "deviceType": {
+ "description": "The type of the Data Box Edge/Gateway device.",
+ "enum": [ "DataBoxEdgeDevice" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DeviceType",
+ "modelAsString": true
+ }
+ },
+ "friendlyName": {
+ "description": "The Data Box Edge/Gateway device name.",
+ "type": "string"
+ },
+ "culture": {
+ "description": "The Data Box Edge/Gateway device culture.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceModel": {
+ "description": "The Data Box Edge/Gateway device model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceSoftwareVersion": {
+ "description": "The Data Box Edge/Gateway device software version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceLocalCapacity": {
+ "format": "int64",
+ "description": "The Data Box Edge/Gateway device local capacity in MB.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "timeZone": {
+ "description": "The Data Box Edge/Gateway device timezone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceHcsVersion": {
+ "description": "The device software version number of the device (eg: 1.2.18105.6).",
+ "type": "string",
+ "readOnly": true
+ },
+ "configuredRoleTypes": {
+ "description": "Type of compute roles configured.",
+ "type": "array",
+ "items": {
+ "enum": [ "IOT", "ASA", "Functions", "Cognitive" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "FileEventTrigger": {
+ "description": "Trigger details.",
+ "required": [ "properties", "kind" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/Trigger" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FileTriggerProperties",
+ "description": "File trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "FileEvent"
+ },
+ "FileSourceInfo": {
+ "description": "File source details.",
+ "required": [ "shareId" ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "File share ID.",
+ "type": "string"
+ }
+ }
+ },
+ "FileTriggerProperties": {
+ "description": "File trigger properties.",
+ "required": [ "sourceInfo", "sinkInfo" ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/FileSourceInfo",
+ "description": "File event source details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role sink info."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "type": "string"
+ }
+ }
+ },
+ "IoTDeviceInfo": {
+ "description": "Metadata of IoT device/IoT Edge device to be configured.",
+ "required": [ "deviceId", "ioTHostHub" ],
+ "type": "object",
+ "properties": {
+ "deviceId": {
+ "description": "ID of the IoT device/edge device.",
+ "type": "string"
+ },
+ "ioTHostHub": {
+ "description": "Host name for the IoT hub associated to the device.",
+ "type": "string"
+ },
+ "authentication": {
+ "$ref": "#/definitions/Authentication",
+ "description": "IoT device authentication info."
+ }
+ }
+ },
+ "IoTRole": {
+ "description": "Compute role.",
+ "required": [ "kind" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/Role" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTRoleProperties",
+ "description": "Properties specific to IoT role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "IOT"
+ },
+ "IoTRoleProperties": {
+ "description": "IoT role properties.",
+ "required": [ "hostPlatform", "ioTDeviceDetails", "ioTEdgeDeviceDetails", "roleStatus" ],
+ "type": "object",
+ "properties": {
+ "hostPlatform": {
+ "description": "Host OS supported by the IoT role.",
+ "enum": [ "Windows", "Linux" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "ioTDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT device metadata to which data box edge device needs to be connected."
+ },
+ "ioTEdgeDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT edge device to which the IoT role needs to be configured."
+ },
+ "shareMappings": {
+ "description": "Mount points of shares in role(s).",
+ "type": "array",
+ "items": { "$ref": "#/definitions/MountPointMap" }
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [ "Enabled", "Disabled" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Ipv4Config": {
+ "description": "Details related to the IPv4 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv4 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subnet": {
+ "description": "The IPv4 subnet of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv4 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Ipv6Config": {
+ "description": "Details related to the IPv6 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv6 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "prefixLength": {
+ "format": "int32",
+ "description": "The IPv6 prefix of the network adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv6 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Job": {
+ "description": "A device job.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The current status of the job.",
+ "enum": [ "Invalid", "Running", "Succeeded", "Failed", "Canceled", "Paused", "Scheduled" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job completed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "The percentage of the job that is complete.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/JobErrorDetails",
+ "description": "The error details.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "The properties of the job.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "JobErrorDetails": {
+ "description": "The job error information containing the list of job errors.",
+ "type": "object",
+ "properties": {
+ "errorDetails": {
+ "description": "The error details.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/JobErrorItem" },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobErrorItem": {
+ "description": "The job error items.",
+ "type": "object",
+ "properties": {
+ "recommendations": {
+ "description": "The recommended actions.",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobProperties": {
+ "description": "The properties for the job.",
+ "type": "object",
+ "properties": {
+ "jobType": {
+ "description": "The type of the job.",
+ "enum": [ "Invalid", "ScanForUpdates", "DownloadUpdates", "InstallUpdates", "RefreshShare" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "currentStage": {
+ "description": "Current stage of the update operation.",
+ "enum": [ "Unknown", "Initial", "ScanStarted", "ScanComplete", "ScanFailed", "DownloadStarted", "DownloadComplete", "DownloadFailed", "InstallStarted", "InstallComplete", "InstallFailed", "RebootInitiated", "Success", "Failure", "RescanStarted", "RescanComplete", "RescanFailed" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperationStage",
+ "modelAsString": true
+ }
+ },
+ "downloadProgress": {
+ "$ref": "#/definitions/UpdateDownloadProgress",
+ "description": "The download progress.",
+ "readOnly": true
+ },
+ "installProgress": {
+ "$ref": "#/definitions/UpdateInstallProgress",
+ "description": "The install progress.",
+ "readOnly": true
+ },
+ "totalRefreshErrors": {
+ "format": "int32",
+ "description": "Total number of errors encountered during the refresh process.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "errorManifestFile": {
+ "description": "Local share/remote container relative path to the error manifest file of the refresh.",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareId": {
+ "description": "ARM ID of the share that was refreshed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "folder": {
+ "description": "If only subfolders need to be refreshed, then the subfolder path inside the share. (The path is empty if there are no subfolders.)",
+ "type": "string"
+ }
+ }
+ },
+ "MetricDimension_V1": {
+ "description": "Metric Dimension v1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metrics dimension.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metrics dimension.",
+ "type": "string"
+ },
+ "toBeExportedForShoebox": {
+ "description": "To be exported to shoe box.",
+ "type": "boolean"
+ }
+ }
+ },
+ "MetricSpecification_V1": {
+ "description": "Metric specification version 1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metric.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metric.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Description of the metric to be displayed.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Metric units.",
+ "enum": [ "NotSpecified", "Percent", "Count", "Seconds", "Milliseconds", "Bytes", "BytesPerSecond", "CountPerSecond" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricUnit",
+ "modelAsString": true
+ }
+ },
+ "aggregationType": {
+ "description": "Metric aggregation type.",
+ "enum": [ "NotSpecified", "None", "Average", "Minimum", "Maximum", "Total", "Count" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ },
+ "dimensions": {
+ "description": "Metric dimensions, other than default dimension which is resource.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/MetricDimension_V1" }
+ },
+ "fillGapWithZero": {
+ "description": "Set true to fill the gaps with zero.",
+ "type": "boolean"
+ },
+ "category": {
+ "description": "Metric category.",
+ "enum": [ "Capacity", "Transaction" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricCategory",
+ "modelAsString": true
+ }
+ },
+ "resourceIdDimensionNameOverride": {
+ "description": "Resource name override.",
+ "type": "string"
+ },
+ "supportedTimeGrainTypes": {
+ "description": "Support granularity of metrics.",
+ "type": "array",
+ "items": {
+ "enum": [ "PT1M", "PT5M", "PT15M", "PT30M", "PT1H", "PT6H", "PT12H", "PT1D" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TimeGrain",
+ "modelAsString": true
+ }
+ }
+ },
+ "supportedAggregationTypes": {
+ "description": "Support metric aggregation type.",
+ "type": "array",
+ "items": {
+ "enum": [ "NotSpecified", "None", "Average", "Minimum", "Maximum", "Total", "Count" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "MountPointMap": {
+ "description": "The share mount point.",
+ "required": [ "shareId" ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "ID of the share mounted to the role VM.",
+ "type": "string"
+ },
+ "roleId": {
+ "description": "ID of the role to which share is mounted.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountPoint": {
+ "description": "Mount point for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "roleType": {
+ "description": "Role type.",
+ "enum": [ "IOT", "ASA", "Functions", "Cognitive" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NetworkAdapter": {
+ "description": "Represents the networkAdapter on a device.",
+ "type": "object",
+ "properties": {
+ "adapterId": {
+ "description": "Instance ID of network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "adapterPosition": {
+ "$ref": "#/definitions/NetworkAdapterPosition",
+ "description": "Hardware position of network adapter.",
+ "readOnly": true
+ },
+ "index": {
+ "format": "int32",
+ "description": "Logical index of the adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "nodeId": {
+ "description": "Node ID of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkAdapterName": {
+ "description": "Network adapter name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "Hardware label for the adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "macAddress": {
+ "description": "MAC address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "linkSpeed": {
+ "format": "int64",
+ "description": "Link speed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Value indicating whether this adapter is valid.",
+ "enum": [ "Inactive", "Active" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkAdapterStatus",
+ "modelAsString": true
+ }
+ },
+ "rdmaStatus": {
+ "description": "Value indicating whether this adapter is RDMA capable.",
+ "enum": [ "Incapable", "Capable" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterRDMAStatus",
+ "modelAsString": true
+ }
+ },
+ "dhcpStatus": {
+ "description": "Value indicating whether this adapter has DHCP enabled.",
+ "enum": [ "Disabled", "Enabled" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterDHCPStatus",
+ "modelAsString": true
+ }
+ },
+ "ipv4Configuration": {
+ "$ref": "#/definitions/Ipv4Config",
+ "description": "The IPv4 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6Configuration": {
+ "$ref": "#/definitions/Ipv6Config",
+ "description": "The IPv6 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6LinkLocalAddress": {
+ "description": "The IPv6 local address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dnsServers": {
+ "description": "The list of DNS Servers of the device.",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkAdapterPosition": {
+ "description": "The network adapter position.",
+ "type": "object",
+ "properties": {
+ "networkGroup": {
+ "description": "The network group.",
+ "enum": [ "None", "NonRDMA", "RDMA" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkGroup",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkSettings": {
+ "description": "The network settings of a device.",
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NetworkSettingsProperties",
+ "description": "The properties of network settings of a device.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NetworkSettingsProperties": {
+ "description": "The properties of network settings.",
+ "type": "object",
+ "properties": {
+ "networkAdapters": {
+ "description": "The network adapter list on the device.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/NetworkAdapter" },
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operations.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Properties displayed for the operation."
+ },
+ "origin": {
+ "description": "Origin of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display properties.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The type of resource in which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to be performed on the resource.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation to be performed.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "Service specification."
+ }
+ }
+ },
+ "OperationsList": {
+ "description": "The list of operations used for the discovery of available provider operations.",
+ "required": [ "value" ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/Operation" }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "Order": {
+ "description": "The order details.",
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/OrderProperties",
+ "description": "The order properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OrderList": {
+ "description": "List of order entities.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of orders.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/Order" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OrderProperties": {
+ "description": "Order properties.",
+ "required": [ "contactInformation", "shippingAddress" ],
+ "type": "object",
+ "properties": {
+ "contactInformation": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "The contact details."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/Address",
+ "description": "The shipping address."
+ },
+ "currentStatus": {
+ "$ref": "#/definitions/OrderStatus",
+ "description": "Current status of the order."
+ },
+ "orderHistory": {
+ "description": "List of status changes in the order.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/OrderStatus" },
+ "readOnly": true
+ },
+ "serialNumber": {
+ "description": "Serial number of the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deliveryTrackingInfo": {
+ "description": "Tracking information for the package delivered to the customer whether it has an original or a replacement device.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/TrackingInfo" },
+ "readOnly": true
+ },
+ "returnTrackingInfo": {
+ "description": "Tracking information for the package returned from the customer whether it has an original or a replacement device.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/TrackingInfo" },
+ "readOnly": true
+ }
+ }
+ },
+ "OrderStatus": {
+ "description": "Represents a single status change.",
+ "required": [ "status" ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the order as per the allowed status types.",
+ "enum": [ "Untracked", "AwaitingFulfilment", "AwaitingPreparation", "AwaitingShipment", "Shipped", "Arriving", "Delivered", "ReplacementRequested", "LostDevice", "Declined", "ReturnInitiated", "AwaitingReturnShipment", "ShippedBack", "CollectedAtMicrosoft" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OrderState",
+ "modelAsString": true
+ }
+ },
+ "updateDateTime": {
+ "format": "date-time",
+ "description": "Time of status update.",
+ "type": "string",
+ "readOnly": true
+ },
+ "comments": {
+ "description": "Comments related to this status change.",
+ "type": "string"
+ }
+ }
+ },
+ "PeriodicTimerEventTrigger": {
+ "description": "Trigger details.",
+ "required": [ "properties", "kind" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/Trigger" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeriodicTimerProperties",
+ "description": "Periodic timer trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "PeriodicTimerEvent"
+ },
+ "PeriodicTimerProperties": {
+ "description": "Periodic timer trigger properties.",
+ "required": [ "sourceInfo", "sinkInfo" ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/PeriodicTimerSourceInfo",
+ "description": "Periodic timer details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role Sink information."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "type": "string"
+ }
+ }
+ },
+ "PeriodicTimerSourceInfo": {
+ "description": "Periodic timer event source.",
+ "required": [ "startTime", "schedule" ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time.",
+ "type": "string"
+ },
+ "schedule": {
+ "description": "Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds.",
+ "type": "string"
+ },
+ "topic": {
+ "description": "Topic where periodic events are published to IoT device.",
+ "type": "string"
+ }
+ }
+ },
+ "RawCertificateData": {
+ "description": "Raw Certificate Data.",
+ "required": [ "certificate" ],
+ "type": "object",
+ "properties": {
+ "authenticationType": {
+ "description": "The authentication type.",
+ "enum": [ "Invalid", "AzureActiveDirectory" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "certificate": {
+ "description": "The base64 encoded certificate raw data.",
+ "type": "string"
+ }
+ }
+ },
+ "RefreshDetails": {
+ "description": "Fields for tracking refresh job on the share.",
+ "type": "object",
+ "properties": {
+ "inProgressRefreshJobId": {
+ "description": "If a refresh share job is currently in progress on this share, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress.",
+ "type": "string"
+ },
+ "lastCompletedRefreshJobTimeInUTC": {
+ "format": "date-time",
+ "description": "Indicates the completed time for the last refresh job on this particular share, if any.This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "errorManifestFile": {
+ "description": "Indicates the relative path of the error xml for the last refresh job on this particular share, if any. This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "lastJob": {
+ "description": "Indicates the id of the last refresh job on this particular share,if any. This could be a failed job or a successful job.",
+ "type": "string"
+ }
+ }
+ },
+ "Role": {
+ "description": "Compute role.",
+ "required": [ "kind" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "kind": {
+ "description": "Role type.",
+ "enum": [ "IOT", "ASA", "Functions", "Cognitive" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "kind"
+ },
+ "RoleList": {
+ "description": "Collection of all the roles on the Data Box Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/Role" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RoleSinkInfo": {
+ "description": "Compute role against which events will be raised.",
+ "required": [ "roleId" ],
+ "type": "object",
+ "properties": {
+ "roleId": {
+ "description": "Compute role ID.",
+ "type": "string"
+ }
+ }
+ },
+ "SecuritySettings": {
+ "description": "The security settings of a device.",
+ "required": [ "properties" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecuritySettingsProperties",
+ "description": "Properties of the security settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SecuritySettingsProperties": {
+ "description": "The properties of security settings.",
+ "required": [ "deviceAdminPassword" ],
+ "type": "object",
+ "properties": {
+ "deviceAdminPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specification as defined by shoebox.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/MetricSpecification_V1" }
+ }
+ }
+ },
+ "Share": {
+ "description": "Represents a share on the Data Box Edge/Gateway device.",
+ "required": [ "properties" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ShareProperties",
+ "description": "The share properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ShareAccessRight": {
+ "description": "Specifies the mapping between this particular user and the type of access he has on shares on this device.",
+ "required": [ "shareId", "accessType" ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "The share ID.",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed on the share for this user.",
+ "enum": [ "Change", "Read", "Custom" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ShareList": {
+ "description": "Collection of all the shares on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shares.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/Share" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ShareProperties": {
+ "description": "The share properties.",
+ "required": [ "shareStatus", "monitoringStatus", "accessProtocol" ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the share.",
+ "type": "string"
+ },
+ "shareStatus": {
+ "description": "Current status of the share.",
+ "enum": [ "Online", "Offline" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareStatus",
+ "modelAsString": true
+ }
+ },
+ "monitoringStatus": {
+ "description": "Current monitoring status of the share.",
+ "enum": [ "Enabled", "Disabled" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonitoringStatus",
+ "modelAsString": true
+ }
+ },
+ "azureContainerInfo": {
+ "$ref": "#/definitions/AzureContainerInfo",
+ "description": "Azure container mapping for the share."
+ },
+ "accessProtocol": {
+ "description": "Access protocol to be used by the share.",
+ "enum": [ "SMB", "NFS" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessProtocol",
+ "modelAsString": true
+ }
+ },
+ "userAccessRights": {
+ "description": "Mapping of users and corresponding access rights on the share (required for SMB protocol).",
+ "type": "array",
+ "items": { "$ref": "#/definitions/UserAccessRight" }
+ },
+ "clientAccessRights": {
+ "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).",
+ "type": "array",
+ "items": { "$ref": "#/definitions/ClientAccessRight" }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this share."
+ },
+ "shareMappings": {
+ "description": "Share mount point to the role.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/MountPointMap" },
+ "readOnly": true
+ },
+ "dataPolicy": {
+ "description": "Data policy of the share.",
+ "enum": [ "Cloud", "Local" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Sku": {
+ "description": "The SKU type.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "enum": [ "Gateway", "Edge" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The SKU tier. This is based on the SKU name.",
+ "enum": [ "Standard" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "StorageAccountCredential": {
+ "description": "The storage account credential.",
+ "required": [ "properties" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageAccountCredentialProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredentialList": {
+ "description": "The collection of storage account credentials.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/StorageAccountCredential" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountCredentialProperties": {
+ "description": "The storage account credential properties.",
+ "required": [ "alias", "sslStatus", "accountType" ],
+ "type": "object",
+ "properties": {
+ "alias": {
+ "description": "Alias for the storage account.",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Username for the storage account.",
+ "type": "string"
+ },
+ "accountKey": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted storage key."
+ },
+ "connectionString": {
+ "description": "Connection string for the storage account. Use this string if username and account key are not specified.",
+ "type": "string"
+ },
+ "sslStatus": {
+ "description": "Signifies whether SSL needs to be enabled or not.",
+ "enum": [ "Enabled", "Disabled" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SSLStatus",
+ "modelAsString": true
+ }
+ },
+ "blobDomainName": {
+ "description": "Blob end point for private clouds.",
+ "type": "string"
+ },
+ "accountType": {
+ "description": "Type of storage accessed on the storage account.",
+ "enum": [ "GeneralPurposeStorage", "BlobStorage" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccountType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SymmetricKey": {
+ "description": "Symmetric key for authentication.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Connection string based on the symmetric key."
+ }
+ }
+ },
+ "TrackingInfo": {
+ "description": "Tracking courier information.",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "Serial number of the device being tracked.",
+ "type": "string"
+ },
+ "carrierName": {
+ "description": "Name of the carrier used in the delivery.",
+ "type": "string"
+ },
+ "trackingId": {
+ "description": "Tracking ID of the shipment.",
+ "type": "string"
+ },
+ "trackingUrl": {
+ "description": "Tracking URL of the shipment.",
+ "type": "string"
+ }
+ }
+ },
+ "Trigger": {
+ "description": "Trigger details.",
+ "required": [ "kind" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "kind": {
+ "description": "Trigger Kind.",
+ "enum": [ "FileEvent", "PeriodicTimerEvent" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TriggerEventType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "kind"
+ },
+ "TriggerList": {
+ "description": "Collection of all trigger on the data box edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of triggers.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/Trigger" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateDownloadProgress": {
+ "description": "Details about the download progress of update.",
+ "type": "object",
+ "properties": {
+ "downloadPhase": {
+ "description": "The download phase.",
+ "enum": [ "Unknown", "Initializing", "Downloading", "Verifying" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DownloadPhase",
+ "modelAsString": true
+ }
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage of completion.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalBytesToDownload": {
+ "format": "double",
+ "description": "Total bytes to download.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalBytesDownloaded": {
+ "format": "double",
+ "description": "Total bytes downloaded.",
+ "type": "number",
+ "readOnly": true
+ },
+ "numberOfUpdatesToDownload": {
+ "format": "int32",
+ "description": "Number of updates to download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesDownloaded": {
+ "format": "int32",
+ "description": "Number of updates downloaded.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateInstallProgress": {
+ "description": "Progress details during installation of updates.",
+ "type": "object",
+ "properties": {
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage completed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesToInstall": {
+ "format": "int32",
+ "description": "Number of updates to install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesInstalled": {
+ "format": "int32",
+ "description": "Number of updates installed.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateSummary": {
+ "description": "Details about ongoing updates and availability of updates on the device.",
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateSummaryProperties",
+ "description": "The device update information summary.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateSummaryProperties": {
+ "description": "The device update information summary.",
+ "type": "object",
+ "properties": {
+ "deviceVersionNumber": {
+ "description": "The current version of the device in format: 1.2.17312.13.\",",
+ "type": "string"
+ },
+ "friendlyDeviceVersionName": {
+ "description": "The current version of the device in text format.",
+ "type": "string"
+ },
+ "deviceLastScannedDateTime": {
+ "format": "date-time",
+ "description": "The last time when a scan was done on the device.",
+ "type": "string"
+ },
+ "lastCompletedScanJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last scan job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string"
+ },
+ "lastCompletedDownloadJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Download job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastCompletedInstallJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesAvailable": {
+ "format": "int32",
+ "description": "The number of updates available for the current device version as per the last device scan.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingDownload": {
+ "format": "int32",
+ "description": "The total number of items pending download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingInstall": {
+ "format": "int32",
+ "description": "The total number of items pending install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "rebootBehavior": {
+ "description": "Indicates if updates are available and at least one of the updates needs a reboot.",
+ "enum": [ "NeverReboots", "RequiresReboot", "RequestReboot" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "InstallRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "ongoingUpdateOperation": {
+ "description": "The current update operation.",
+ "enum": [ "None", "Scan", "Download", "Install" ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperation",
+ "modelAsString": true
+ }
+ },
+ "inProgressDownloadJobId": {
+ "description": "The job ID of the download job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobId": {
+ "description": "The job ID of the install job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressDownloadJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running download (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running install (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "updateTitles": {
+ "description": "The list of updates available for install.",
+ "type": "array",
+ "items": { "type": "string" },
+ "readOnly": true
+ },
+ "totalUpdateSizeInBytes": {
+ "format": "double",
+ "description": "The total size of updates available for download in bytes.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "UploadCertificateRequest": {
+ "description": "The upload certificate request.",
+ "required": [ "properties" ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RawCertificateData",
+ "description": "The Base 64 encoded certificate raw data.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UploadCertificateResponse": {
+ "description": "The upload registration certificate response.",
+ "required": [ "resourceId", "aadAuthority", "aadTenantId", "servicePrincipalClientId", "servicePrincipalObjectId", "azureManagementEndpointAudience" ],
+ "type": "object",
+ "properties": {
+ "authType": {
+ "description": "Specifies authentication type.",
+ "enum": [ "Invalid", "AzureActiveDirectory" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "The resource ID of the Data Box Edge/Gateway device.",
+ "type": "string"
+ },
+ "aadAuthority": {
+ "description": "Azure Active Directory tenant authority.",
+ "type": "string"
+ },
+ "aadTenantId": {
+ "description": "Azure Active Directory tenant ID.",
+ "type": "string"
+ },
+ "servicePrincipalClientId": {
+ "description": "Azure Active Directory service principal client ID.",
+ "type": "string"
+ },
+ "servicePrincipalObjectId": {
+ "description": "Azure Active Directory service principal object ID.",
+ "type": "string"
+ },
+ "azureManagementEndpointAudience": {
+ "description": "The azure management endpoint audience.",
+ "type": "string"
+ }
+ }
+ },
+ "User": {
+ "description": "Represents a user who has access to one or more shares on the Data Box Edge/Gateway device.",
+ "required": [ "properties" ],
+ "type": "object",
+ "allOf": [ { "$ref": "#/definitions/ARMBaseModel" } ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UserProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UserAccessRight": {
+ "description": "The mapping between a particular user and the access type on the SMB share.",
+ "required": [ "userId", "accessType" ],
+ "type": "object",
+ "properties": {
+ "userId": {
+ "description": "User ID (already existing in the device).",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed for the user.",
+ "enum": [ "Change", "Read", "Custom" ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserList": {
+ "description": "Collection of users.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of users.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/User" },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserProperties": {
+ "description": "The user properties.",
+ "type": "object",
+ "properties": {
+ "encryptedPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "The password details."
+ },
+ "shareAccessRights": {
+ "description": "List of shares that the user has rights on. This field should not be specified during user creation.",
+ "type": "array",
+ "items": { "$ref": "#/definitions/ShareAccessRight" }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version.",
+ "required": true,
+ "type": "string"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "The location of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The resource group name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID.",
+ "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/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGet.json
new file mode 100644
index 000000000000..5dc12ebfe54a
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGetAllInDevice.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGetAllInDevice.json
new file mode 100644
index 000000000000..0cdd1b66eaf5
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/AlertGetAllInDevice.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "title": "Device password has changed",
+ "alertType": "PasswordChangedEvent",
+ "appearedAtDateTime": "2018-12-18T02:29:15.2325577Z",
+ "recommendation": "The device administrator password has changed. This is a required action as part of the first time device setup or regular password reset. No further action is required.",
+ "severity": "Informational",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 2
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "name": "83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "type": "dataBoxEdgeDevices/alerts"
+ },
+ {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleDelete.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleDelete.json
new file mode 100644
index 000000000000..f23fbf5566b2
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+
+ "accept-language": [
+ "en-US"
+ ]
+
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGet.json
new file mode 100644
index 000000000000..555dc4948aa3
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+
+ "accept-language": [
+ "en-US"
+ ]
+
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGetAllInDevice.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGetAllInDevice.json
new file mode 100644
index 000000000000..c4c7669a0f47
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthScheduleGetAllInDevice.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+
+ "accept-language": [
+ "en-US"
+ ]
+
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthSchedulePut.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthSchedulePut.json
new file mode 100644
index 000000000000..02d9d147c9e4
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/BandwidthSchedulePut.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "start": "0:0:0",
+ "stop": "13:59:0",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSettings"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceDelete.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceDelete.json
new file mode 100644
index 000000000000..8cc8ecc2a9d3
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceDelete.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ },
+ "202": {
+ "body": ""
+ },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByName.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByName.json
new file mode 100644
index 000000000000..108aaaefda5d
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByName.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-16T08%3A03%3A27.61Z'\"_W/\"datetime'2018-12-16T08%3A03%3A27.653Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
new file mode 100644
index 000000000000..512141a9caf2
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A06.493Z'\"_W/\"datetime'2018-12-17T10%3A31%3A06.597Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-09-27T09%3A45%3A09.15Z'\"_W/\"datetime'2018-09-27T09%3A45%3A09.177Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice2",
+ "name": "testedgedevice2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A00.293Z'\"_W/\"datetime'2018-12-17T10%3A31%3A00.34Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice3",
+ "name": "testedgedevice3",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetBySubscription.json
new file mode 100644
index 000000000000..0ec79dbbbe5a
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDeviceGetBySubscription.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A06.493Z'\"_W/\"datetime'2018-12-17T10%3A31%3A06.597Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-09-27T09%3A45%3A09.15Z'\"_W/\"datetime'2018-09-27T09%3A45%3A09.177Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice2",
+ "name": "testedgedevice2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A00.293Z'\"_W/\"datetime'2018-12-17T10%3A31%3A00.34Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice3",
+ "name": "testedgedevice3",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePatch.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePatch.json
new file mode 100644
index 000000000000..3de12659080e
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePatch.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "tags": {
+ "Key1": "value1",
+ "Key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {
+ "Key1": "value1",
+ "Key2": "value2"
+ },
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2018-12-19T06%3A33%3A24.983Z'\"_W/\"datetime'2018-12-19T06%3A33%3A25.013Z'\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePut.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePut.json
new file mode 100644
index 000000000000..a02693f38d83
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DataBoxEdgeDevicePut.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "DataBoxEdgeDevice": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "standard"
+ },
+ "name": "testedgedevice"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "name": "testedgedevice"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DownloadUpdatesPost.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DownloadUpdatesPost.json
new file mode 100644
index 000000000000..b5d7ba286f8a
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/DownloadUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ExtendedInfoPost.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ExtendedInfoPost.json
new file mode 100644
index 000000000000..591391f2654d
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ExtendedInfoPost.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceKey": "3482840729935603111",
+ "encryptionKeyThumbprint": "",
+ "encryptionKey": ""
+
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/InstallUpdatesPost.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/InstallUpdatesPost.json
new file mode 100644
index 000000000000..b5d7ba286f8a
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/InstallUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/JobsGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/JobsGet.json
new file mode 100644
index 000000000000..be53e3c2031a
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/JobsGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/jobs/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/NetworkSettingsGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/NetworkSettingsGet.json
new file mode 100644
index 000000000000..865e94e76a96
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/NetworkSettingsGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "networkAdapters": [
+ {
+ "adapterId": "{47D0D0EC-AA8A-4221-AA2A-355B58082BA5}",
+ "adapterPosition": {
+ "networkGroup": "NonRDMA",
+ "port": 0
+ },
+ "index": 1,
+ "nodeId": "3fd54d9e-f7a0-45bf-bdf1-39b0977d1984",
+ "networkAdapterName": "DATA1",
+ "label": "DATA1",
+ "macAddress": "00155D4E265B",
+ "linkSpeed": 10000000000,
+ "status": "Inactive",
+ "rdmaStatus": "Incapable",
+ "dhcpStatus": "Disabled",
+ "ipv4Configuration": {
+ "ipAddress": "10.150.78.56",
+ "subnet": "255.255.252.0",
+ "gateway": "10.150.76.1"
+ },
+ "ipv6Configuration": {
+ "ipAddress": "2404:f801:4800:1e:d5c6:50a1:465b:1bbf",
+ "prefixLength": 64,
+ "gateway": "fe80::12f3:11ff:fe36:994b%5"
+ },
+ "ipv6LinkLocalAddress": "fe80::d5c6:50a1:465b:1bbf%5",
+ "dnsServers": [
+ "10.50.50.50",
+ "10.50.10.50"
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/networkSettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..1b5ec8831038
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsGet.json
@@ -0,0 +1,717 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/write",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Creates or updates share users",
+ "description": "Creates or updates the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/delete",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Delete share users",
+ "description": "Deletes the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/write",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Creates or updates bandwidth schedules",
+ "description": "Creates or updates the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/delete",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Delete bandwidth schedules",
+ "description": "Deletes the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/write",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Creates or updates ArmApiRes_roles",
+ "description": "Creates or updates the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/delete",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Delete ArmApiRes_roles",
+ "description": "Deletes the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/write",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Creates or updates shares",
+ "description": "Creates or updates the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/refresh/action",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "ArmApiOp_action_refresh_shares",
+ "description": "ArmApiDesc_action_refresh_shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/delete",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Delete shares",
+ "description": "Deletes the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/uploadCertificate/action",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Upload certificates",
+ "description": "Upload certificate for device registration"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/delete",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Delete Data Box Edge devices",
+ "description": "Deletes the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/getExtendedInformation/action",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "ArmApiOp_action_getExtendedInformation_dataBoxEdgeDevices",
+ "description": "ArmApiDesc_action_getExtendedInformation_dataBoxEdgeDevices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/extendedInformation/action",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Gets resource extended information",
+ "description": "Retrieves resource extended information"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device network settings",
+ "operation": "List Device network settings",
+ "description": "Lists or gets the Device network settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings/update/action",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device security settings",
+ "operation": "Update security settings",
+ "description": "Update security settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "update summary",
+ "operation": "List update summary",
+ "description": "Lists or gets the update summary"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/scanForUpdates/action",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Scan for updates",
+ "description": "Scan for updates"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/downloadUpdates/action",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Download Updates",
+ "description": "Download Updates in device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/installUpdates/action",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Install Updates",
+ "description": "Install Updates on device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/jobs/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "jobs",
+ "operation": "List jobs",
+ "description": "Lists or gets the jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/write",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Creates or updates storage account credentials",
+ "description": "Creates or updates the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/delete",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Delete storage account credentials",
+ "description": "Deletes the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/metricDefinitions/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read Data Box Edge device metric definition",
+ "description": "Gets the available Data Box Edge device level metrics"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "NICReadThroughput",
+ "displayName": "Read Throughput (Network)",
+ "displayDescription": "The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "NICWriteThroughput",
+ "displayName": "Write Throughput (Network)",
+ "displayDescription": "The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughputPerShare",
+ "displayName": "Cloud Download Throughput (Share)",
+ "displayDescription": "The download throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughputPerShare",
+ "displayName": "Cloud Upload Throughput (Share)",
+ "displayDescription": "The upload throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloudPerShare",
+ "displayName": "Cloud Bytes Uploaded (Share)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a share during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "TotalCapacity",
+ "displayName": "Total Capacity",
+ "displayDescription": "Total Capacity",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "AvailableCapacity",
+ "displayName": "Available Capacity",
+ "displayDescription": "The available capacity in bytes during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughput",
+ "displayName": "Cloud Upload Throughput",
+ "displayDescription": "The cloud upload throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughput",
+ "displayName": "Cloud Read Throughput",
+ "displayDescription": "The cloud download throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloud",
+ "displayName": "Cloud Bytes Uploaded (Device)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a device during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/write",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Write diagnostics setting",
+ "description": "Creates or updates the diagnostics setting for the resource"
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/read",
+
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read diagnostics setting",
+ "description": "Gets the diagnostic setting for the resource"
+ },
+ "origin": "system"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsStatusGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsStatusGet.json
new file mode 100644
index 000000000000..a962e3437e3f
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OperationsStatusGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/operationsStatus/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderDelete.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderDelete.json
new file mode 100644
index 000000000000..7b99785ffc7c
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGet.json
new file mode 100644
index 000000000000..ddf55ee0ca61
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGet.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [
+
+ ],
+ "returnTrackingInfo": [
+
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGetAllInDevice.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGetAllInDevice.json
new file mode 100644
index 000000000000..b862ab23c6f2
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderGetAllInDevice.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [
+
+ ],
+ "returnTrackingInfo": [
+
+ ]
+ }
+
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderPut.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderPut.json
new file mode 100644
index 000000000000..a851081c4ee7
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/OrderPut.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "order": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties":
+ {
+ "contactInformation":
+ {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress":
+ {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [
+
+ ],
+ "returnTrackingInfo": [
+
+ ]
+ }
+ }
+ },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleDelete.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleDelete.json
new file mode 100644
index 000000000000..73c30e1db8f3
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleDelete.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+
+ "accept-language": [
+ "en-US"
+ ]
+
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ },
+ "202": { "body": "" },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGet.json
new file mode 100644
index 000000000000..4b46cca63c05
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+
+ "accept-language": [
+ "en-US"
+ ]
+
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGetAllInDevice.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGetAllInDevice.json
new file mode 100644
index 000000000000..ed6e60086033
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RoleGetAllInDevice.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RolePut.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RolePut.json
new file mode 100644
index 000000000000..dad891f826c4
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/RolePut.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "role": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "348586569999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "1245475856069999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "shareMappings": [
+ ],
+
+ "roleStatus": "Enabled"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/Roles/IoTRole1",
+ "name": "IoTRole3",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACDelete.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACDelete.json
new file mode 100644
index 000000000000..f35526f2ecd6
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" },
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGet.json
new file mode 100644
index 000000000000..ab790edbc9bf
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGetAllInDevice.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGetAllInDevice.json
new file mode 100644
index 000000000000..304ea8ff78e3
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "alias": "sac1128180128323",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "GeneralPurposeStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128323",
+ "name": "sac1128180128323",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ },
+ {
+ "properties": {
+ "alias": "sac1128180128312",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128312",
+ "name": "sac1128180128312",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACPut.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACPut.json
new file mode 100644
index 000000000000..3228363f2548
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SACPut.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccountCredential": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "accountKey": {
+ "value": "lAeZEYi6rNP1/EyNaVUYmTSZEYyaIaWmwUsGwek0+xiZj54GM9Ue9/UA2ed/ClC03wuSit2XzM/cLRU5eYiFBwks23rGwiQOr3sruEL2a74EjPD050xYjA6M1I2hu/w2yjVHhn5j+DbXS4Xzi+rHHNZK3DgfDO3PkbECjPck+PbpSBjy9+6Mrjcld5DIZhUAeMlMHrFlg+WKRKB14o/og56u5/xX6WKlrMLEQ+y6E18dUwvWs2elTNoVO8PBE8SM/CfooX4AMNvaNdSObNBPdP+F6Lzc556nFNWXrBLRt0vC7s9qTiVRO4x/qCNaK/B4y7IqXMllwQFf4Np9UQ2ECA==",
+ "encryptionCertThumbprint": "2A9D8D6BE51574B5461230AEF02F162C5F01AD31",
+ "encryptionAlgorithm": "AES256"
+ },
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "name": "sac1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body":
+ {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ScanForUpdatesPost.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ScanForUpdatesPost.json
new file mode 100644
index 000000000000..b5d7ba286f8a
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ScanForUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SecuritySettingsUpdatePost.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SecuritySettingsUpdatePost.json
new file mode 100644
index 000000000000..14dd40142306
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SecuritySettingsUpdatePost.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "AzureVM",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "securitySettings": {
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/AzureVM/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/securitySettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings",
+ "properties": {
+ "deviceAdminPassword": {
+ "value": "jJ5MvXa/AEWvwxviS92uCjatCXeyLYTy8jx/k105MjQRXT7i6Do8qpEcQ8d+OBbwmQTnwKW0CYyzzVRCc0uZcPCf6PsWtP4l6wvcKGAP66PwK68eEkTUOmp+wUHc4hk02kWmTWeAjBZkuDBP3xK1RnZo95g2RE4i1UgKNP5BEKCLd71O104DW3AWW41mh9XLWNOaxw+VjQY7wmvlE6XkvpkMhcGuha2u7lx8zi9ZkcMvJVYDYK36Fb/K3KhBAmDjjDmVq04jtBlcSTXQObt0nlj4BwGGtdrpeIpr67zqr5i3cPm6e6AleIaIhp6sI/uyGSMiT3oev2eg49u2ii7kVA==",
+ "encryptionAlgorithm": "AES256",
+ "encryptionCertThumbprint": "7DCBDFC44ED968D232C9A998FC105B5C70E84BE0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": { "body": "" },
+ "204": { }
+
+ }
+}
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareDelete.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareDelete.json
new file mode 100644
index 000000000000..451a3be99acc
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGet.json
new file mode 100644
index 000000000000..ad5130ae4260
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGetAllInDevice.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGetAllInDevice.json
new file mode 100644
index 000000000000..2992f5d5a5fb
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareGetAllInDevice.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SharePut.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SharePut.json
new file mode 100644
index 000000000000..f19e1895638a
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/SharePut.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "share": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Enabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "dataPolicy": "Cloud"
+ },
+ "name": "smbshare"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareRefreshPost.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareRefreshPost.json
new file mode 100644
index 000000000000..799b93858d68
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/ShareRefreshPost.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerDelete.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerDelete.json
new file mode 100644
index 000000000000..86a327226dd9
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerDelete.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGet.json
new file mode 100644
index 000000000000..1510c70ca395
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGetAllInDevice.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGetAllInDevice.json
new file mode 100644
index 000000000000..f565b54b9156
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerGetAllInDevice.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerPut.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerPut.json
new file mode 100644
index 000000000000..b47e496c636b
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/TriggerPut.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "trigger": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryGet.json
new file mode 100644
index 000000000000..d95cc167bfe3
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "deviceVersionNumber": "1.2.18183.2",
+ "friendlyDeviceVersionName": "Data Box Edge Virtual Device Preview Version 1.1",
+ "totalNumberOfUpdatesAvailable": 0,
+ "totalNumberOfUpdatesPendingDownload": 0,
+ "totalNumberOfUpdatesPendingInstall": 0,
+ "rebootBehavior": "NeverReboots",
+ "ongoingUpdateOperation": "None",
+ "totalUpdateSizeInBytes": 0.0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryPost.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryPost.json
new file mode 100644
index 000000000000..6ab439a4a5b5
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UpdateSummaryPost.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "deviceVersionNumber": "1.2.18183.2",
+ "friendlyDeviceVersionName": "Data Box Edge Virtual Device Preview Version 1.1",
+ "totalNumberOfUpdatesAvailable": 0,
+ "totalNumberOfUpdatesPendingDownload": 0,
+ "totalNumberOfUpdatesPendingInstall": 0,
+ "rebootRequiredForInstall": false,
+ "ongoingUpdateOperation": "None",
+ "totalUpdateSizeInBytes": 0.0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UploadCertificatePost.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UploadCertificatePost.json
new file mode 100644
index 000000000000..90087ebcd487
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UploadCertificatePost.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authType": "AzureActiveDirectory",
+ "resourceId": "392799901267771",
+ "aadAuthority": "https://login.windows.net",
+ "aadTenantId": "100b019d-4626-4a9e-a83c-9cff8fe41909",
+ "servicePrincipalClientId": "ffd8a688-82b1-4e5a-a4c1-7ede8c928e68",
+ "servicePrincipalObjectId": "cef6d40c-24e6-4a6f-bb9e-3ec60b4adec4",
+ "azureManagementEndpointAudience": "https://wus-bvtgateway.ext.trafficmanager.net/"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserDelete.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserDelete.json
new file mode 100644
index 000000000000..896c1dfcbe32
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserDelete.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": { "body": "" },
+ "202": { "body": "" },
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGet.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGet.json
new file mode 100644
index 000000000000..f1065ce81d83
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {},
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ "202": { "body": "" }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGetAllInDevice.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGetAllInDevice.json
new file mode 100644
index 000000000000..79320d8bb1cb
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserGetAllInDevice.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {},
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "name": "user2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ {
+ "properties": {},
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserPut.json b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserPut.json
new file mode 100644
index 000000000000..57ff1718a82a
--- /dev/null
+++ b/specification/edgegateway/resource-manager/Microsoft.DataBoxEdge/stable/2019-03-01/examples/UserPut.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "user": {
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users",
+ "properties": {
+ "encryptedPassword": {
+ "value": "Password@1",
+ "encryptionAlgorithm": "None",
+ "EncryptionCertThumbprint": "blah"
+ },
+ "shareAccessRights": []
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {},
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ }
+ },
+ "202": { "body": "" }
+ }
+}
\ No newline at end of file
diff --git a/specification/edgegateway/resource-manager/readme.go.md b/specification/edgegateway/resource-manager/readme.go.md
new file mode 100644
index 000000000000..4498df3171ab
--- /dev/null
+++ b/specification/edgegateway/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: edgegateway
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+```yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2019-03
+```
+
+### Tag: package-2019-03 and go
+
+These settings apply only when `--tag=package-2019-03 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2019-03' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-03-01/$(namespace)
+```
diff --git a/specification/edgegateway/resource-manager/readme.md b/specification/edgegateway/resource-manager/readme.md
new file mode 100644
index 000000000000..ac59d5126934
--- /dev/null
+++ b/specification/edgegateway/resource-manager/readme.md
@@ -0,0 +1,146 @@
+# DataBox
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for DataBox.
+
+
+
+---
+## Getting Started
+To build the SDK for DataBox, 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 DataBox API.
+
+``` yaml
+openapi-type: arm
+tag: package-2019-03
+```
+
+### Tag: package-2019-03
+
+These settings apply only when `--tag=package-2019-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-03'
+input-file:
+- Microsoft.DataBoxEdge/stable/2019-03-01/edgegateway.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-js
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_edgegateway']
+```
+
+## 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.EdgeGateway
+ payload-flattening-threshold: 2
+ output-folder: $(csharp-sdks-folder)/EdgeGateway/Management.EdgeGateway/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.edgegateway
+ package-name: azure-mgmt-edgegateway
+ title: EdgeGatewayManagementClient
+ description: The EdgeGateway Client.
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-edgegateway/azure/mgmt/edgegateway
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-edgegateway
+```
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+java:
+ azure-arm: true
+ fluent: true
+ namespace: com.microsoft.azure.management.edgegateway
+ license-header: MICROSOFT_MIT_NO_CODEGEN
+ payload-flattening-threshold: 1
+ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-edgegateway
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2019-03
+```
+
+### Tag: package-2019-03 and java
+
+These settings apply only when `--tag=package-2019-03 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2019-03' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.edgegateway.v2018_07_01
+ output-folder: $(azure-libraries-for-java-folder)/edgegateway/resource-manager/v2018_07_01
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/edgegateway/resource-manager/readme.ruby.md b/specification/edgegateway/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..f5c203b2ea31
--- /dev/null
+++ b/specification/edgegateway/resource-manager/readme.ruby.md
@@ -0,0 +1,26 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+``` yaml $(ruby)
+package-name: azure_mgmt_edgegateway
+package-version: "0.0.1"
+azure-arm: true
+```
+
+### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2019-03
+```
+
+### Tag: package-2019-03 and ruby
+
+These settings apply only when `--tag=package-2019-03 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-03' && $(ruby)
+namespace: "Azure::EdgeGateway::Mgmt::V2019_03_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_edgegateway/lib
+```
diff --git a/specification/edgegateway/resource-manager/readme.typescript.md b/specification/edgegateway/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..d7c26804f5b1
--- /dev/null
+++ b/specification/edgegateway/resource-manager/readme.typescript.md
@@ -0,0 +1,14 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ package-name: "@azure/arm-edgegateway"
+ output-folder: "$(typescript-sdks-folder)/packages/@azure/arm-edgegateway"
+ generate-metadata: true
+```
diff --git a/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
new file mode 100644
index 000000000000..c6f356f299a6
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
@@ -0,0 +1,47 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-01-01",
+ "title": "Schema of Azure App Configuration events published to Azure Event Grid",
+ "description": "Describes the schema of the Azure App Configuration events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent."
+ },
+ "paths": {},
+ "definitions": {
+ "AppConfigurationKeyValueModifiedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.AppConfiguration.KeyValueModified event.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key used to identify the key-value that was modified.",
+ "type": "string"
+ },
+ "label": {
+ "description": "The label, if any, used to identify the key-value that was modified.",
+ "type": "string"
+ },
+ "etag": {
+ "description": "The etag representing the new state of the key-value.",
+ "type": "string"
+ }
+ }
+ },
+ "AppConfigurationKeyValueDeletedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.AppConfiguration.KeyValueDeleted event.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key used to identify the key-value that was deleted.",
+ "type": "string"
+ },
+ "label": {
+ "description": "The label, if any, used to identify the key-value that was deleted.",
+ "type": "string"
+ },
+ "etag": {
+ "description": "The etag representing the key-value that was deleted.",
+ "type": "string"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
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
index 5e30c7fbdde9..9995610b7a2a 100644
--- 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
@@ -25,6 +25,24 @@
],
"properties": {}
},
+ "ContainerRegistryChartPushedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ChartPushed event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ContainerRegistryArtifactEventData"
+ }
+ ],
+ "properties": {}
+ },
+ "ContainerRegistryChartDeletedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for a Microsoft.ContainerRegistry.ChartDeleted event.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ContainerRegistryArtifactEventData"
+ }
+ ],
+ "properties": {}
+ },
"ContainerRegistryEventData": {
"description": "The content of the event request message.",
"properties": {
@@ -59,6 +77,28 @@
}
}
},
+ "ContainerRegistryArtifactEventData": {
+ "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/ContainerRegistryArtifactEventTarget",
+ "description": "The target of the event."
+ }
+ }
+ },
"ContainerRegistryEventTarget": {
"description": "The target of the event.",
"properties": {
@@ -94,6 +134,40 @@
}
}
},
+ "ContainerRegistryArtifactEventTarget": {
+ "description": "The target of the event.",
+ "properties": {
+ "mediaType": {
+ "description": "The MIME type of the artifact.",
+ "type": "string"
+ },
+ "size": {
+ "format": "int64",
+ "description": "The size in bytes of the artifact.",
+ "type": "integer"
+ },
+ "digest": {
+ "description": "The digest of the artifact.",
+ "type": "string"
+ },
+ "repository": {
+ "description": "The repository name of the artifact.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "The tag of the artifact.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the artifact.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the artifact.",
+ "type": "string"
+ }
+ }
+ },
"ContainerRegistryEventRequest": {
"description": "The request that generated the event.",
"properties": {
diff --git a/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/Maps.json b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/Maps.json
index e7f7ab02d8de..9b7b9bfd05b7 100644
--- a/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/Maps.json
+++ b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/Maps.json
@@ -38,11 +38,11 @@
"type": "object",
"description": "Schema of the Data property of an EventGridEvent for a Geofence event (GeofenceEntered, GeofenceExited, GeofenceResult).",
"properties": {
- "details": {
- "description": "List details generated during processing.",
+ "expiredGeofenceGeometryId": {
+ "description": "Lists of the geometry ID of the geofence which is expired relative to the user time in the request.",
"type": "array",
"items": {
- "$ref": "#/definitions/MapsGeofenceDetail"
+ "type": "string"
}
},
"geometries": {
@@ -51,6 +51,17 @@
"items": {
"$ref" : "#/definitions/MapsGeofenceGeometry"
}
+ },
+ "invalidPeriodGeofenceGeometryId": {
+ "description": "Lists of the geometry ID of the geofence which is in invalid period relative to the user time in the request.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEventPublished": {
+ "description": "True if at least one event is published to the Azure Maps event subscriber, false if no event is published to the Azure Maps event subscriber.",
+ "type": "boolean"
}
}
},
@@ -58,68 +69,29 @@
"description": "The geofence geometry.",
"type": "object",
"properties": {
- "udId": {
- "description": "The unique ID returned from user upload service when uploading a geofence.",
+ "deviceId": {
+ "description": "ID of the device.",
"type": "string"
},
+ "distance": {
+ "description": "Distance from the coordinate to the closest border of the geofence. Positive means the coordinate is outside of the geofence. If the coordinate is outside of the geofence, but more than the value of searchBuffer away from the closest geofence border, then the value is 999. Negative means the coordinate is inside of the geofence. If the coordinate is inside the polygon, but more than the value of searchBuffer away from the closest geofencing border,then the value is -999. A value of 999 means that there is great confidence the coordinate is well outside the geofence. A value of -999 means that there is great confidence the coordinate is well within the geofence.",
+ "type": "number"
+ },
"geometryId": {
"description": "The unique ID for the geofence geometry.",
"type": "string"
},
- "distance": {
- "description": "Distance from the coordinate to the closest border line of the polygon, point or point on the polyline. If the coordinate is outside, then the distance is positive. Negative means the coordinate is inside. If the coordinate is inside the polygon, but more than the value of searchBuffer away from the closest polygon border line, point or polyline, then the value is -999. A value of -999 means that there is great confidence the coordinate is well within the geofence.",
- "type": "number"
- },
"nearestLat": {
- "description": "Latitude of the nearest point of the geometry/geometry border. Void if distance = -999.",
+ "description": "Latitude of the nearest point of the geometry.",
"type": "number"
},
"nearestLon": {
- "description": "Longitude of the nearest point of the geometry/geometry border. Void if distance = -999.",
+ "description": "Longitude of the nearest point of the geometry.",
"type": "number"
- }
- }
- },
- "MapsGeofenceDetail": {
- "description": "Lists detail generated during processing.",
- "type": "object",
- "properties": {
- "code": {
- "description": "The detail code which identifies each detail item being returned.",
- "type": "string",
- "enum": [
- "ExpiredGeofencingData",
- "GeofencingEventPublished",
- "InvalidTimeGeofencingData"
- ],
- "x-ms-enum": {
- "name": "MapsGeofenceDetailCodeType"
- }
},
- "message": {
- "description": "Text description of the detail.",
+ "udId": {
+ "description": "The unique id returned from user upload service when uploading a geofence. Will not be included in geofencing post API.",
"type": "string"
- },
- "type": {
- "description": "The type of the detail.",
- "type": "string",
- "enum": [
- "Information",
- "Warning"
- ],
- "x-ms-enum": {
- "name": "MapsGeofenceDetailType",
- "values": [
- {
- "value": "Information",
- "description": "Useful information to inform clients."
- },
- {
- "value": "Warning",
- "description": "The detail serves as a warning to client."
- }
- ]
- }
}
}
}
diff --git a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json
index a54eea59dffe..7b4e0fe4ce26 100644
--- a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json
+++ b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json
@@ -366,6 +366,29 @@
"type": "object",
"description": "The event data for a Job output asset."
},
+ "MediaJobOutputProgressEventData": {
+ "x-ms-discriminator-value": "#Microsoft.Media.JobOutputProgress",
+ "description": "Job Output Progress Event Data.",
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "Gets the Job output label."
+ },
+ "progress": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Gets the Job output progress."
+ },
+ "jobCorrelationData": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Gets the Job correlation data."
+ }
+ }
+ },
"MediaJobOutputStateChangeEventData": {
"description": "Schema of the Data property of an EventGridEvent for a Microsoft.Media.JobOutputStateChange event.",
"type": "object",
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
index 02619144dfc7..427c85902d5e 100644
--- 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
@@ -33,7 +33,8 @@
},
"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"
+ "type": "integer",
+ "format": "int64"
},
"blobType": {
"description": "The type of blob.",
diff --git a/specification/eventgrid/data-plane/readme.md b/specification/eventgrid/data-plane/readme.md
index 557799c08222..30d5af3e4949 100644
--- a/specification/eventgrid/data-plane/readme.md
+++ b/specification/eventgrid/data-plane/readme.md
@@ -52,6 +52,8 @@ input-file:
- Microsoft.ContainerRegistry/stable/2018-01-01/ContainerRegistry.json
- Microsoft.ServiceBus/stable/2018-01-01/ServiceBus.json
- Microsoft.Media/stable/2018-01-01/MediaServices.json
+- Microsoft.Maps/stable/2018-01-01/Maps.json
+- Microsoft.AppConfiguration/stable/2018-01-01/AppConfiguration.json
```
---
@@ -132,24 +134,5 @@ azure-arm: 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
+output-folder: $(azure-libraries-for-java-folder)/eventgrid/data-plane
```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2018-01
-```
-
-### Tag: package-2018-01 and java
-
-These settings apply only when `--tag=package-2018-01 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2018-01' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.eventgrid.v2018_01_01
- output-folder: $(azure-libraries-for-java-folder)/eventgrid/data-plane/v2018_01_01
-```
-
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/EventGrid.json
new file mode 100644
index 000000000000..201fec415047
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/EventGrid.json
@@ -0,0 +1,3686 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-02-01-preview",
+ "title": "EventGridManagementClient",
+ "description": "Azure EventGrid Management Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}": {
+ "get": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Get a domain",
+ "description": "Get properties of a domain",
+ "operationId": "Domains_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": "domainName",
+ "in": "path",
+ "description": "Name of the domain",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_Get": {
+ "$ref": "./examples/Domains_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Create or update a domain",
+ "description": "Asynchronously creates or updates a new domain with the specified parameters.",
+ "operationId": "Domains_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": "domainName",
+ "in": "path",
+ "description": "Name of the domain",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainInfo",
+ "in": "body",
+ "description": "Domain information",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_CreateOrUpdate": {
+ "$ref": "./examples/Domains_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Delete a domain",
+ "description": "Delete existing domain",
+ "operationId": "Domains_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": "domainName",
+ "in": "path",
+ "description": "Name of the domain",
+ "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": {
+ "Domains_Delete": {
+ "$ref": "./examples/Domains_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Update a domain",
+ "description": "Asynchronously updates a domain with the specified parameters.",
+ "operationId": "Domains_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": "domainName",
+ "in": "path",
+ "description": "Name of the domain",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainUpdateParameters",
+ "in": "body",
+ "description": "Domain update information",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DomainUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Domain update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_Update": {
+ "$ref": "./examples/Domains_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/domains": {
+ "get": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "List domains under an Azure subscription",
+ "description": "List all the domains under an Azure subscription",
+ "operationId": "Domains_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_ListBySubscription": {
+ "$ref": "./examples/Domains_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains": {
+ "get": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "List domains under a resource group",
+ "description": "List all the domains under a resource group",
+ "operationId": "Domains_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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_ListByResourceGroup": {
+ "$ref": "./examples/Domains_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/listKeys": {
+ "post": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "List keys for a domain",
+ "description": "List the two keys used to publish to a domain",
+ "operationId": "Domains_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": "domainName",
+ "in": "path",
+ "description": "Name of the domain",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_ListSharedAccessKeys": {
+ "$ref": "./examples/Domains_ListSharedAccessKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Regenerate key for a domain",
+ "description": "Regenerate a shared access key for a domain",
+ "operationId": "Domains_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": "domainName",
+ "in": "path",
+ "description": "Name of the domain",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "regenerateKeyRequest",
+ "in": "body",
+ "description": "Request body to regenerate key",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DomainRegenerateKeyRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_RegenerateKey": {
+ "$ref": "./examples/Domains_RegenerateKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}": {
+ "get": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "Get a domain topic",
+ "description": "Get properties of a domain topic",
+ "operationId": "DomainTopics_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": "domainName",
+ "in": "path",
+ "description": "Name of the domain",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainTopicName",
+ "in": "path",
+ "description": "Name of the topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_Get": {
+ "$ref": "./examples/DomainTopics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "Create or update a domain topic",
+ "description": "Asynchronously creates or updates a new domain topic with the specified parameters.",
+ "operationId": "DomainTopics_CreateOrUpdate",
+ "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": "domainName",
+ "in": "path",
+ "description": "Name of the domain",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainTopicName",
+ "in": "path",
+ "description": "Name of the domain topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DomainTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_CreateOrUpdate": {
+ "$ref": "./examples/DomainTopics_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "Delete a domain topic",
+ "description": "Delete existing domain topic",
+ "operationId": "DomainTopics_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": "domainName",
+ "in": "path",
+ "description": "Name of the domain",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainTopicName",
+ "in": "path",
+ "description": "Name of the domain 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": {
+ "DomainTopics_Delete": {
+ "$ref": "./examples/DomainTopics_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics": {
+ "get": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "List domain topics.",
+ "description": "List all the topics in a domain.",
+ "operationId": "DomainTopics_ListByDomain",
+ "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": "domainName",
+ "in": "path",
+ "description": "Domain name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainTopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_ListByDomain": {
+ "$ref": "./examples/DomainTopics_ListByDomain.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{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 updated",
+ "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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListGlobalBySubscription": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListGlobalBySubscriptionForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListGlobalByResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListGlobalByResourceGroupForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListRegionalBySubscription": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListRegionalByResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListRegionalBySubscriptionForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListRegionalByResourceGroupForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListByResource": {
+ "$ref": "./examples/EventSubscriptions_ListByResource.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all event subscriptions for a specific domain topic",
+ "description": "List all event subscriptions that have been created for a specific domain topic",
+ "operationId": "EventSubscriptions_ListByDomainTopic",
+ "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": "domainName",
+ "in": "path",
+ "description": "Name of the top level domain",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the domain topic",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ },
+ {
+ "$ref": "#/parameters/LabelFilterParameter"
+ }
+ ],
+ "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-examples": {
+ "EventSubscriptions_ListByDomainTopic": {
+ "$ref": "./examples/EventSubscriptions_ListByDomainTopic.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "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-examples": {
+ "Topics_ListBySubscription": {
+ "$ref": "./examples/Topics_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "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-examples": {
+ "Topics_ListByResourceGroup": {
+ "$ref": "./examples/Topics_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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-examples": {
+ "Topics_ListEventTypes": {
+ "$ref": "./examples/Topics_ListEventTypes.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/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-examples": {
+ "TopicTypes_List": {
+ "$ref": "./examples/TopicTypes_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/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-examples": {
+ "TopicTypes_ListEventTypes": {
+ "$ref": "./examples/TopicTypes_ListEventTypes.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DomainProperties": {
+ "description": "Properties of the Domain",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the domain.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DomainProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "endpoint": {
+ "description": "Endpoint for the domain.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inputSchema": {
+ "description": "This determines the format that Event Grid should expect for incoming events published to the domain.",
+ "enum": [
+ "EventGridSchema",
+ "CustomEventSchema",
+ "CloudEventV01Schema"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InputSchema",
+ "modelAsString": true
+ },
+ "default": "EventGridSchema"
+ },
+ "inputSchemaMapping": {
+ "$ref": "#/definitions/InputSchemaMapping",
+ "description": "Information about the InputSchemaMapping which specified the info about mapping event payload."
+ }
+ }
+ },
+ "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
+ },
+ "JsonInputSchemaMappingProperties": {
+ "description": "This can be used to map properties of a source schema (or default values, for certain supported properties) to properties of the EventGridEvent schema.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/JsonField",
+ "description": "The mapping information for the Id property of the Event Grid Event."
+ },
+ "topic": {
+ "$ref": "#/definitions/JsonField",
+ "description": "The mapping information for the Topic property of the Event Grid Event."
+ },
+ "eventTime": {
+ "$ref": "#/definitions/JsonField",
+ "description": "The mapping information for the EventTime property of the Event Grid Event."
+ },
+ "eventType": {
+ "$ref": "#/definitions/JsonFieldWithDefault",
+ "description": "The mapping information for the EventType property of the Event Grid Event."
+ },
+ "subject": {
+ "$ref": "#/definitions/JsonFieldWithDefault",
+ "description": "The mapping information for the Subject property of the Event Grid Event."
+ },
+ "dataVersion": {
+ "$ref": "#/definitions/JsonFieldWithDefault",
+ "description": "The mapping information for the DataVersion property of the Event Grid Event."
+ }
+ }
+ },
+ "JsonField": {
+ "description": "This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the input event schema.",
+ "type": "object",
+ "properties": {
+ "sourceField": {
+ "description": "Name of a field in the input event schema that's to be used as the source of a mapping.",
+ "type": "string"
+ }
+ }
+ },
+ "JsonFieldWithDefault": {
+ "description": "This is used to express the source of an input schema mapping for a single target field\r\nin the Event Grid Event schema. This is currently used in the mappings for the 'subject',\r\n'eventtype' and 'dataversion' properties. This represents a field in the input event schema\r\nalong with a default value to be used, and at least one of these two properties should be provided.",
+ "type": "object",
+ "properties": {
+ "sourceField": {
+ "description": "Name of a field in the input event schema that's to be used as the source of a mapping.",
+ "type": "string"
+ },
+ "defaultValue": {
+ "description": "The default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload.",
+ "type": "string"
+ }
+ }
+ },
+ "JsonInputSchemaMapping": {
+ "description": "This enables publishing to Event Grid using a custom input schema. This can be used to map properties from a custom input JSON schema to the Event Grid event schema.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InputSchemaMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JsonInputSchemaMappingProperties",
+ "description": "JSON Properties of the input schema mapping",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Json"
+ },
+ "InputSchemaMapping": {
+ "description": "By default, Event Grid expects events to be in the Event Grid event schema. Specifying an input schema mapping enables publishing to Event Grid using a custom input schema. Currently, the only supported type of InputSchemaMapping is 'JsonInputSchemaMapping'.",
+ "type": "object",
+ "properties": {
+ "inputSchemaMappingType": {
+ "description": "Type of the custom mapping",
+ "enum": [
+ "Json"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InputSchemaMappingType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "inputSchemaMappingType"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "Domain": {
+ "description": "EventGrid Domain",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DomainProperties",
+ "description": "Properties of the domain",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DomainUpdateParameters": {
+ "description": "Properties of the Domain update",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the domains resource",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DomainsListResult": {
+ "description": "Result of the List Domains operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Domains",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of domains",
+ "type": "string"
+ }
+ }
+ },
+ "DomainSharedAccessKeys": {
+ "description": "Shared access keys of the Domain",
+ "type": "object",
+ "properties": {
+ "key1": {
+ "description": "Shared access key1 for the domain.",
+ "type": "string"
+ },
+ "key2": {
+ "description": "Shared access key2 for the domain.",
+ "type": "string"
+ }
+ }
+ },
+ "DomainRegenerateKeyRequest": {
+ "description": "Domain regenerate share access key request",
+ "required": [
+ "keyName"
+ ],
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "Key name to regenerate key1 or key2",
+ "type": "string"
+ }
+ }
+ },
+ "DomainTopicProperties": {
+ "description": "Properties of the Domain Topic",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the domain topic.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DomainTopicProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DomainTopic": {
+ "description": "Domain Topic",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DomainTopicProperties",
+ "description": "Properties of the Domain Topic",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DomainTopicsListResult": {
+ "description": "Result of the List Domain Topics operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Domain Topics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DomainTopic"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of domain topics",
+ "type": "string"
+ }
+ }
+ },
+ "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",
+ "AwaitingManualAction"
+ ],
+ "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"
+ }
+ },
+ "expirationTimeUtc": {
+ "format": "date-time",
+ "description": "Expiration time of the event subscription.",
+ "type": "string"
+ },
+ "eventDeliverySchema": {
+ "description": "The event delivery schema for the event subscription.",
+ "enum": [
+ "EventGridSchema",
+ "CloudEventV01Schema",
+ "CustomInputSchema"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventDeliverySchema",
+ "modelAsString": true
+ }
+ },
+ "retryPolicy": {
+ "$ref": "#/definitions/RetryPolicy",
+ "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "The DeadLetter destination of the event subscription."
+ }
+ }
+ },
+ "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. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null.",
+ "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"
+ },
+ "advancedFilters": {
+ "description": "An array of advanced filters that are used for filtering event subscriptions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ }
+ }
+ },
+ "RetryPolicy": {
+ "description": "Information about the retry policy for an event subscription",
+ "type": "object",
+ "properties": {
+ "maxDeliveryAttempts": {
+ "format": "int32",
+ "description": "Maximum number of delivery retry attempts for events.",
+ "type": "integer"
+ },
+ "eventTimeToLiveInMinutes": {
+ "format": "int32",
+ "description": "Time To Live (in minutes) for events.",
+ "type": "integer"
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "StorageBlobDeadLetterDestinationProperties": {
+ "description": "Properties of the storage blob based dead letter destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of the storage account that is the destination of the deadletter events",
+ "type": "string"
+ },
+ "blobContainerName": {
+ "description": "The name of the Storage blob container that is the destination of the deadletter events",
+ "type": "string"
+ }
+ }
+ },
+ "NumberInAdvancedFilter": {
+ "description": "NumberIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "NumberIn"
+ },
+ "StorageBlobDeadLetterDestination": {
+ "description": "Information about the storage blob based dead letter destination.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeadLetterDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageBlobDeadLetterDestinationProperties",
+ "description": "The properties of the Storage Blob based deadletter destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "StorageBlob"
+ },
+ "NumberNotInAdvancedFilter": {
+ "description": "NumberNotIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "NumberNotIn"
+ },
+ "NumberLessThanAdvancedFilter": {
+ "description": "NumberLessThan Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberLessThan"
+ },
+ "NumberGreaterThanAdvancedFilter": {
+ "description": "NumberGreaterThan Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberGreaterThan"
+ },
+ "NumberLessThanOrEqualsAdvancedFilter": {
+ "description": "NumberLessThanOrEquals Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberLessThanOrEquals"
+ },
+ "NumberGreaterThanOrEqualsAdvancedFilter": {
+ "description": "NumberGreaterThanOrEquals Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberGreaterThanOrEquals"
+ },
+ "BoolEqualsAdvancedFilter": {
+ "description": "BoolEquals Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "The boolean filter value.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "BoolEquals"
+ },
+ "StringInAdvancedFilter": {
+ "description": "StringIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringIn"
+ },
+ "StringNotInAdvancedFilter": {
+ "description": "StringNotIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringNotIn"
+ },
+ "StringBeginsWithAdvancedFilter": {
+ "description": "StringBeginsWith Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringBeginsWith"
+ },
+ "StringEndsWithAdvancedFilter": {
+ "description": "StringEndsWith Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringEndsWith"
+ },
+ "StringContainsAdvancedFilter": {
+ "description": "StringContains Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringContains"
+ },
+ "AdvancedFilter": {
+ "description": "This is the base type that represents an advanced filter. To configure an advanced filter, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class such as BoolEqualsAdvancedFilter, NumberInAdvancedFilter, StringEqualsAdvancedFilter etc. depending on the type of the key based on which you want to filter.",
+ "required": [
+ "operatorType"
+ ],
+ "type": "object",
+ "properties": {
+ "operatorType": {
+ "description": "The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.",
+ "enum": [
+ "NumberIn",
+ "NumberNotIn",
+ "NumberLessThan",
+ "NumberGreaterThan",
+ "NumberLessThanOrEquals",
+ "NumberGreaterThanOrEquals",
+ "BoolEquals",
+ "StringIn",
+ "StringNotIn",
+ "StringBeginsWith",
+ "StringEndsWith",
+ "StringContains"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AdvancedFilterOperatorType",
+ "modelAsString": true
+ }
+ },
+ "key": {
+ "description": "The field/property in the event based on which you want to filter.",
+ "type": "string"
+ }
+ },
+ "discriminator": "operatorType"
+ },
+ "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"
+ },
+ "DeadLetterDestination": {
+ "description": "Information about the dead letter destination for an event subscription. To configure a deadletter destination, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class. Currently, StorageBlobDeadLetterDestination is the only class that derives from this class.",
+ "required": [
+ "endpointType"
+ ],
+ "type": "object",
+ "properties": {
+ "endpointType": {
+ "description": "Type of the endpoint for the dead letter destination",
+ "enum": [
+ "StorageBlob"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DeadLetterEndPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "endpointType"
+ },
+ "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"
+ },
+ "StorageQueueEventSubscriptionDestinationProperties": {
+ "description": "The properties for a storage queue destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription.",
+ "type": "string"
+ },
+ "queueName": {
+ "description": "The name of the Storage queue under a storage account that is the destination of an event subscription.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageQueueEventSubscriptionDestination": {
+ "description": "Information about the storage queue destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageQueueEventSubscriptionDestinationProperties",
+ "description": "Storage Queue Properties of the event subscription destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "StorageQueue"
+ },
+ "HybridConnectionEventSubscriptionDestinationProperties": {
+ "description": "The properties for a hybrid connection destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of an hybrid connection that is the destination of an event subscription.",
+ "type": "string"
+ }
+ }
+ },
+ "HybridConnectionEventSubscriptionDestination": {
+ "description": "Information about the HybridConnection destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/HybridConnectionEventSubscriptionDestinationProperties",
+ "description": "Hybrid connection Properties of the event subscription destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "HybridConnection"
+ },
+ "ServiceBusQueueEventSubscriptionDestinationProperties": {
+ "description": "The properties that represent the Service Bus destination of an event subscription.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.",
+ "type": "string"
+ }
+ }
+ },
+ "ServiceBusQueueEventSubscriptionDestination": {
+ "description": "Information about the service bus destination for an event subscription",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServiceBusQueueEventSubscriptionDestinationProperties",
+ "description": "Service Bus Properties of the event subscription destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "ServiceBusQueue"
+ },
+ "EventSubscriptionDestination": {
+ "description": "Information about the destination for an event subscription",
+ "required": [
+ "endpointType"
+ ],
+ "type": "object",
+ "properties": {
+ "endpointType": {
+ "description": "Type of the endpoint for the event subscription destination",
+ "enum": [
+ "WebHook",
+ "EventHub",
+ "StorageQueue",
+ "HybridConnection",
+ "ServiceBusQueue"
+ ],
+ "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"
+ }
+ },
+ "expirationTimeUtc": {
+ "format": "date-time",
+ "description": "Information about the expiration time for the event subscription.",
+ "type": "string"
+ },
+ "eventDeliverySchema": {
+ "description": "The event delivery schema for the event subscription.",
+ "enum": [
+ "EventGridSchema",
+ "CloudEventV01Schema",
+ "CustomInputSchema"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventDeliverySchema",
+ "modelAsString": true
+ }
+ },
+ "retryPolicy": {
+ "$ref": "#/definitions/RetryPolicy",
+ "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "The DeadLetter destination of the event subscription."
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of event subscriptions",
+ "type": "string"
+ }
+ }
+ },
+ "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
+ },
+ "inputSchema": {
+ "description": "This determines the format that Event Grid should expect for incoming events published to the topic.",
+ "enum": [
+ "EventGridSchema",
+ "CustomEventSchema",
+ "CloudEventV01Schema"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InputSchema",
+ "modelAsString": true
+ },
+ "default": "EventGridSchema"
+ },
+ "inputSchemaMapping": {
+ "$ref": "#/definitions/InputSchemaMapping",
+ "description": "This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema."
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of topics",
+ "type": "string"
+ }
+ }
+ },
+ "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 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"
+ },
+ "isInDefaultSet": {
+ "description": "IsInDefaultSet flag of the event type.",
+ "type": "boolean"
+ }
+ }
+ },
+ "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"
+ },
+ "FilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filter the results using OData syntax.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "TopParameter": {
+ "name": "$top",
+ "in": "query",
+ "description": "The number of results to return.",
+ "required": false,
+ "type": "integer",
+ "x-ms-parameter-location": "method"
+ },
+ "LabelFilterParameter": {
+ "name": "label",
+ "in": "query",
+ "description": "The label used to filter the results for event subscriptions list.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "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/preview/2019-02-01-preview/examples/DomainTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_CreateOrUpdate.json
new file mode 100644
index 000000000000..0c317475b95c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_CreateOrUpdate.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "domainTopicName": "exampledomaintopic1",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1/topics/exampledomaintopic1",
+ "name": "exampledomaintopic1",
+ "type": "Microsoft.EventGrid/domains/topics"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_Delete.json
new file mode 100644
index 000000000000..f6fdc810b8d7
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName" : "exampledomain1",
+ "domainTopicName" : "exampledomaintopic1",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_Get.json
new file mode 100644
index 000000000000..a48eb29e3454
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "topicName": "topic1",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2/topics/topic1",
+ "location": "westcentralus",
+ "name": "topic1",
+ "type": "Microsoft.EventGrid/domains/topics"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_ListByDomain.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_ListByDomain.json
new file mode 100644
index 000000000000..cbc513404bfa
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/DomainTopics_ListByDomain.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_CreateOrUpdate.json
new file mode 100644
index 000000000000..fe9fd3012a38
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_CreateOrUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "api-version": "2019-02-01-preview",
+ "domainInfo": {
+ "location": "westus2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_Delete.json
new file mode 100644
index 000000000000..654b0b8695c9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName" : "exampledomain1",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_Get.json
new file mode 100644
index 000000000000..60154558cffc
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_ListByResourceGroup.json
new file mode 100644
index 000000000000..cbc513404bfa
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_ListBySubscription.json
new file mode 100644
index 000000000000..26ac8b11a81e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_ListBySubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_ListSharedAccessKeys.json
new file mode 100644
index 000000000000..2e65d08ee0d9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_ListSharedAccessKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName" : "exampledomain2",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=",
+ "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA="
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_RegenerateKey.json
new file mode 100644
index 000000000000..2d6f10f87f23
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName" : "exampledomain2",
+ "api-version": "2019-02-01-preview",
+ "regenerateKeyRequest": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=",
+ "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA="
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_Update.json
new file mode 100644
index 000000000000..f5c6e6944211
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Domains_Update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "api-version": "2019-02-01-preview",
+ "domainUpdateParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json
new file mode 100644
index 000000000000..b23efe271dc7
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01-preview",
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForResource.json
new file mode 100644
index 000000000000..647d1ad9ec71
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview",
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
new file mode 100644
index 000000000000..6ccbff676f30
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-02-01-preview",
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
new file mode 100644
index 000000000000..95babd5193e9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-02-01-preview",
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForCustomTopic.json
new file mode 100644
index 000000000000..4704913b3dac
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForResource.json
new file mode 100644
index 000000000000..006640f98e5b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForResourceGroup.json
new file mode 100644
index 000000000000..ce9f7595051a
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForSubscription.json
new file mode 100644
index 000000000000..b958b85a3c79
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_DeleteForSubscription.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetForCustomTopic.json
new file mode 100644
index 000000000000..01767b9e7408
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_GetForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetForResource.json
new file mode 100644
index 000000000000..ac39ac4e7470
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_GetForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetForResourceGroup.json
new file mode 100644
index 000000000000..5dad86440654
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetForResourceGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_GetForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetForSubscription.json
new file mode 100644
index 000000000000..900082708fbe
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetForSubscription.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForCustomTopic.json
new file mode 100644
index 000000000000..712f14685601
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForResource.json
new file mode 100644
index 000000000000..7ccc00c4e27b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
new file mode 100644
index 000000000000..47961ed29edd
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForSubscription.json
new file mode 100644
index 000000000000..f5c933cbf408
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_GetFullUrlForSubscription.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListByDomainTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListByDomainTopic.json
new file mode 100644
index 000000000000..af7234ae3127
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListByDomainTopic.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "domain1",
+ "topicName": "topic1",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/domains/domain1/topics/topic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/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/domains/domain1/topics/topic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/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/domains/domain1/topics/topic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/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/preview/2019-02-01-preview/examples/EventSubscriptions_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListByResource.json
new file mode 100644
index 000000000000..8bce69d80da0
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroup.json
new file mode 100644
index 000000000000..a2e4da986769
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroup.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..a2c763023013
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicTypeName": "Microsoft.Resources.ResourceGroups",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalBySubscription.json
new file mode 100644
index 000000000000..c863679d1151
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalBySubscription.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..58cac63f8caa
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "topicTypeName": "Microsoft.Resources.Subscriptions",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroup.json
new file mode 100644
index 000000000000..62a1e73b9a55
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroup.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "location": "westus2",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..962b80291b27
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalBySubscription.json
new file mode 100644
index 000000000000..59f5e3d89492
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalBySubscription.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "location": "westus2",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..ea069ff193a7
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "location": "westus2",
+ "topicTypeName": "Microsoft.EventHub.namespaces",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForCustomTopic.json
new file mode 100644
index 000000000000..1e30433b82ab
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview",
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForResource.json
new file mode 100644
index 000000000000..fbe6900720f2
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview",
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForResourceGroup.json
new file mode 100644
index 000000000000..7c52d933e017
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForResourceGroup.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-02-01-preview",
+ "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/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForSubscription.json
new file mode 100644
index 000000000000..e4c076b70a40
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/EventSubscriptions_UpdateForSubscription.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-02-01-preview",
+ "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/preview/2019-02-01-preview/examples/Operations_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..f92b44cf7816
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Operations_List.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/TopicTypes_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/TopicTypes_Get.json
new file mode 100644
index 000000000000..2ec4c4839839
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/TopicTypes_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/TopicTypes_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/TopicTypes_List.json
new file mode 100644
index 000000000000..777a7ee836c7
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/TopicTypes_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/TopicTypes_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/TopicTypes_ListEventTypes.json
new file mode 100644
index 000000000000..52172351644b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/TopicTypes_ListEventTypes.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/Topics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_CreateOrUpdate.json
new file mode 100644
index 000000000000..a211fce8d568
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_CreateOrUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2019-02-01-preview",
+ "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/preview/2019-02-01-preview/examples/Topics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_Delete.json
new file mode 100644
index 000000000000..0534424a3883
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName" : "exampletopic1",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_Get.json
new file mode 100644
index 000000000000..754f7f71b1b2
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic2",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/Topics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_ListByResourceGroup.json
new file mode 100644
index 000000000000..1087b88e3db8
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/Topics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_ListBySubscription.json
new file mode 100644
index 000000000000..bc0ea275db03
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_ListBySubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/Topics_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_ListEventTypes.json
new file mode 100644
index 000000000000..e2665bcde8b6
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/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": "2019-02-01-preview"
+ },
+ "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/preview/2019-02-01-preview/examples/Topics_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_ListSharedAccessKeys.json
new file mode 100644
index 000000000000..95745613f5ae
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_ListSharedAccessKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName" : "exampletopic2",
+ "api-version": "2019-02-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=",
+ "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA="
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_RegenerateKey.json
new file mode 100644
index 000000000000..f0e7ebfa9485
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName" : "exampletopic2",
+ "api-version": "2019-02-01-preview",
+ "regenerateKeyRequest": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=",
+ "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA="
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_Update.json
new file mode 100644
index 000000000000..128778827651
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2019-02-01-preview/examples/Topics_Update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2019-02-01-preview",
+ "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/Microsoft.EventGrid/stable/2019-01-01/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/EventGrid.json
new file mode 100644
index 000000000000..d780860e7242
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/EventGrid.json
@@ -0,0 +1,2209 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-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_WebhookDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.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 updated",
+ "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",
+ "AwaitingManualAction"
+ ],
+ "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"
+ }
+ },
+ "retryPolicy": {
+ "$ref": "#/definitions/RetryPolicy",
+ "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "The DeadLetter destination of the event subscription."
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "RetryPolicy": {
+ "description": "Information about the retry policy for an event subscription",
+ "type": "object",
+ "properties": {
+ "maxDeliveryAttempts": {
+ "format": "int32",
+ "description": "Maximum number of delivery retry attempts for events.",
+ "type": "integer"
+ },
+ "eventTimeToLiveInMinutes": {
+ "format": "int32",
+ "description": "Time To Live (in minutes) for events.",
+ "type": "integer"
+ }
+ }
+ },
+ "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
+ }
+ }
+ },
+ "StorageBlobDeadLetterDestinationProperties": {
+ "description": "Properties of the storage blob based dead letter destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of the storage account that is the destination of the deadletter events. For example: /subscriptions/{AzureSubscriptionId}/resourceGroups/{ResourceGroupName}/providers/microsoft.Storage/storageAccounts/{StorageAccountName}",
+ "type": "string"
+ },
+ "blobContainerName": {
+ "description": "The name of the Storage blob container that is the destination of the deadletter events",
+ "type": "string"
+ }
+ }
+ },
+ "StorageBlobDeadLetterDestination": {
+ "description": "Information about the storage blob based dead letter destination.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeadLetterDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageBlobDeadLetterDestinationProperties",
+ "description": "The properties of the Storage Blob based deadletter destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "StorageBlob"
+ },
+ "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"
+ },
+ "DeadLetterDestination": {
+ "description": "Information about the dead letter destination for an event subscription. To configure a deadletter destination, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class. Currently, StorageBlobDeadLetterDestination is the only class that derives from this class.",
+ "type": "object",
+ "required": [
+ "endpointType"
+ ],
+ "properties": {
+ "endpointType": {
+ "description": "Type of the endpoint for the dead letter destination",
+ "enum": [
+ "StorageBlob"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DeadLetterEndPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "endpointType"
+ },
+ "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"
+ },
+ "StorageQueueEventSubscriptionDestinationProperties": {
+ "description": "The properties for a storage queue destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription.",
+ "type": "string"
+ },
+ "queueName": {
+ "description": "The name of the Storage queue under a storage account that is the destination of an event subscription.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageQueueEventSubscriptionDestination": {
+ "description": "Information about the storage queue destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageQueueEventSubscriptionDestinationProperties",
+ "description": "Storage Queue Properties of the event subscription destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "StorageQueue"
+ },
+ "HybridConnectionEventSubscriptionDestinationProperties": {
+ "description": "The properties for a hybrid connection destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of an hybrid connection that is the destination of an event subscription.",
+ "type": "string"
+ }
+ }
+ },
+ "HybridConnectionEventSubscriptionDestination": {
+ "description": "Information about the HybridConnection destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/HybridConnectionEventSubscriptionDestinationProperties",
+ "description": "Hybrid connection Properties of the event subscription destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "HybridConnection"
+ },
+ "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",
+ "StorageQueue",
+ "HybridConnection"
+ ],
+ "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"
+ }
+ },
+ "retryPolicy": {
+ "$ref": "#/definitions/RetryPolicy",
+ "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "The DeadLetter destination of the event subscription."
+ }
+ }
+ },
+ "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 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/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json
new file mode 100644
index 000000000000..a9d6c337dec6
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2019-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"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "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"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "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/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json
new file mode 100644
index 000000000000..d254f31f7cc9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "HybridConnection",
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1"
+ },
+ "endpointType": "HybridConnection"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "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/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json
new file mode 100644
index 000000000000..063a0106c541
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "StorageQueue",
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "queueName": "queue1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "queueName": "queue1"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "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/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json
new file mode 100644
index 000000000000..83a6186d91b1
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://contosofunction.azurewebsites.net/api/HttpTriggerCSharp1?code="
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointUrl": null,
+ "endpointBaseUrl": "https://contosofunction.azurewebsites.net/api/HttpTriggerCSharp1"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "includedEventTypes": [
+ "All"
+ ],
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "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/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForResource.json
new file mode 100644
index 000000000000..130af51f5df2
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
new file mode 100644
index 000000000000..0375149313cc
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
new file mode 100644
index 000000000000..4204f27d842a
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_DeleteForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_DeleteForCustomTopic.json
new file mode 100644
index 000000000000..cce3201d3077
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_DeleteForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_DeleteForResource.json
new file mode 100644
index 000000000000..bdf161d7204f
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_DeleteForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_DeleteForResourceGroup.json
new file mode 100644
index 000000000000..b238cbdf7f41
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_DeleteForResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_DeleteForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_DeleteForSubscription.json
new file mode 100644
index 000000000000..24bf6cc42f23
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_DeleteForSubscription.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetForCustomTopic.json
new file mode 100644
index 000000000000..d67677160928
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/EventSubscriptions_GetForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetForResource.json
new file mode 100644
index 000000000000..816df3aac984
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/EventSubscriptions_GetForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetForResourceGroup.json
new file mode 100644
index 000000000000..6ab3f9741272
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetForResourceGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_GetForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetForSubscription.json
new file mode 100644
index 000000000000..556becd0fc68
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetForSubscription.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json
new file mode 100644
index 000000000000..bc58d3771743
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetFullUrlForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetFullUrlForResource.json
new file mode 100644
index 000000000000..26aba43cf31f
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
new file mode 100644
index 000000000000..f00c6204bb9d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetFullUrlForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetFullUrlForSubscription.json
new file mode 100644
index 000000000000..573f5efd5ae6
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_GetFullUrlForSubscription.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListByResource.json
new file mode 100644
index 000000000000..023af1f7432a
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json
new file mode 100644
index 000000000000..4cc3676ac68b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..b991ff4d69b7
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/EventSubscriptions_ListGlobalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListGlobalBySubscription.json
new file mode 100644
index 000000000000..faf78facf10c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListGlobalBySubscription.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..5a19d61f3d6e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "topicTypeName": "Microsoft.Resources.Subscriptions",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json
new file mode 100644
index 000000000000..2b9f85f8403c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "location": "westus2",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..ad243388fa96
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/EventSubscriptions_ListRegionalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListRegionalBySubscription.json
new file mode 100644
index 000000000000..4bfc6e86dcb0
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListRegionalBySubscription.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "location": "westus2",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..286d231dfe5b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/EventSubscriptions_UpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_UpdateForCustomTopic.json
new file mode 100644
index 000000000000..bd15eb6234fc
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/EventSubscriptions_UpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_UpdateForResource.json
new file mode 100644
index 000000000000..c2215e558f27
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/EventSubscriptions_UpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_UpdateForResourceGroup.json
new file mode 100644
index 000000000000..9d34348e61d2
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_UpdateForResourceGroup.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2019-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/2019-01-01/examples/EventSubscriptions_UpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_UpdateForSubscription.json
new file mode 100644
index 000000000000..1aba0269b691
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/EventSubscriptions_UpdateForSubscription.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2019-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/2019-01-01/examples/Operations_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Operations_List.json
new file mode 100644
index 000000000000..cb18d775e61b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Operations_List.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2019-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/2019-01-01/examples/TopicTypes_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/TopicTypes_Get.json
new file mode 100644
index 000000000000..d86fe416ddb4
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/TopicTypes_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2019-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/2019-01-01/examples/TopicTypes_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/TopicTypes_List.json
new file mode 100644
index 000000000000..0b050fe55aef
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/TopicTypes_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-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/2019-01-01/examples/TopicTypes_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/TopicTypes_ListEventTypes.json
new file mode 100644
index 000000000000..79370c691453
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/TopicTypes_ListEventTypes.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2019-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/2019-01-01/examples/Topics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_CreateOrUpdate.json
new file mode 100644
index 000000000000..2d7b702aeaca
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_CreateOrUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2019-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/2019-01-01/examples/Topics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_Delete.json
new file mode 100644
index 000000000000..7db78a66b0a8
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName" : "exampletopic1",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_Get.json
new file mode 100644
index 000000000000..35ff2e4fa0b3
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic2",
+ "api-version": "2019-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/2019-01-01/examples/Topics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_ListByResourceGroup.json
new file mode 100644
index 000000000000..a5c32d869feb
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2019-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/2019-01-01/examples/Topics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_ListBySubscription.json
new file mode 100644
index 000000000000..f572f1329bdd
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_ListBySubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2019-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/2019-01-01/examples/Topics_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_ListEventTypes.json
new file mode 100644
index 000000000000..2e90a053001e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-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": "2019-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/2019-01-01/examples/Topics_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_ListSharedAccessKeys.json
new file mode 100644
index 000000000000..4721e171a150
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_ListSharedAccessKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName" : "exampletopic2",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "Rqfq5wWxtQnIQJyswP0Uh/hqQfDDMUOYyQSYEpx5e5g=",
+ "key2": "sesymbkIXMtZVqXEFHarJmdGmZjjnY+BZC8yRD/FeuA="
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_RegenerateKey.json
new file mode 100644
index 000000000000..8d6c31538807
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName" : "exampletopic2",
+ "api-version": "2019-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/2019-01-01/examples/Topics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_Update.json
new file mode 100644
index 000000000000..201db2cf43a5
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2019-01-01/examples/Topics_Update.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2019-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.go.md b/specification/eventgrid/resource-manager/readme.go.md
index f77675d88cd1..fe14866459e2 100644
--- a/specification/eventgrid/resource-manager/readme.go.md
+++ b/specification/eventgrid/resource-manager/readme.go.md
@@ -13,12 +13,33 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-02-preview
+ - tag: package-2019-01
- tag: package-2018-09-preview
- tag: package-2018-05-preview
- tag: package-2018-01
- tag: package-2017-09-preview
- tag: package-2017-06-preview
```
+
+### Tag: package-2019-02-preview and go
+
+These settings apply only when `--tag=package-2019-02-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-02-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-02-01-preview/$(namespace)
+```
+
+### Tag: package-2019-01 and go
+
+These settings apply only when `--tag=package-2019-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-01-01/$(namespace)
+```
+
### Tag: package-2018-09-preview and go
These settings apply only when `--tag=package-2018-09-preview --go` is specified on the command line.
@@ -62,4 +83,4 @@ Please also specify `--go-sdk-folder= `autorest`
@@ -15,20 +15,46 @@ To build the SDK for Azure EventGrid, simply [Install AutoRest](https://aka.ms/a
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the Azure EventGrid API.
``` yaml
openapi-type: arm
-tag: package-2018-09-preview
+tag: package-2019-02-preview
+```
+
+### Tag: package-2019-02-preview
+
+These settings apply only when `--tag=package-2019-02-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-02-preview'
+input-file:
+- Microsoft.EventGrid/preview/2019-02-01-preview/EventGrid.json
+```
+
+### Tag: package-2019-01
+
+These settings apply only when `--tag=package-2019-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-01'
+input-file:
+- Microsoft.EventGrid/stable/2019-01-01/EventGrid.json
```
+## Suppression
+
+``` yaml
+directive:
+ - suppress: TrackedResourcePatchOperation
+ from: EventGrid.json
+ reason: PATCH operation already exists in the json file but this is known issue in the ARM validation.
+```
### Tag: package-2018-09-preview
@@ -46,6 +72,13 @@ directive:
- suppress: TrackedResourcePatchOperation
from: EventGrid.json
reason: PATCH operation already exists in the json file but this is known issue in the ARM validation.
+ - suppress: ONE_OF_MULTIPLE
+ from: EventGrid.json
+ where: $.definitions.EventSubscriptionProperties.properties.destination
+ reason: |-
+ This is a false positive. We have multiple EventSubscriptionDestination types (EventHubEventSubscriptionDestination, HybridConnectionEventSubscriptionDestination etc.) and each of them has corresponding property classes e.g. EventHubEventSubscriptionDestinationProperties and HybridConnectionEventSubscriptionDestinationProperties have both a property called resourceId which is why the validation appears to be flagging this.
+
+ However, the discriminator value (endpointType) is separate for each of these destinations, hence based on the discriminator it will get deserialized into the appropriate type.
```
### Tag: package-2018-05-preview
@@ -57,7 +90,6 @@ input-file:
- Microsoft.EventGrid/preview/2018-05-01-preview/EventGrid.json
```
-
### Tag: package-2018-01
These settings apply only when `--tag=package-2018-01` is specified on the command line.
@@ -67,7 +99,6 @@ input-file:
- Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
```
-
### Tag: package-2017-09-preview
These settings apply only when `--tag=package-2017-09-preview` is specified on the command line.
@@ -77,7 +108,6 @@ input-file:
- Microsoft.EventGrid/preview/2017-09-15-preview/EventGrid.json
```
-
### Tag: package-2017-06-preview
These settings apply only when `--tag=package-2017-06-preview` is specified on the command line.
@@ -87,10 +117,9 @@ input-file:
- Microsoft.EventGrid/preview/2017-06-15-preview/EventGrid.json
```
-
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -109,7 +138,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_event_grid']
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -142,11 +170,13 @@ python:
package-version: 1.0.0
clear-output-folder: true
```
+
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/azure-mgmt-eventgrid/azure/mgmt/eventgrid
```
+
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
@@ -175,18 +205,47 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-eventgrid
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2019-02-preview
+ - tag: package-2019-01
- tag: package-2018-09-preview
- tag: package-2018-05-preview
- tag: package-2018-01
```
-### Tag: package-2018-09-preview and java
+### Tag: package-2019-02-preview and java
-These settings apply only when `--tag=package-2018-09-preview --java` is specified on the command line.
+These settings apply only when `--tag=package-2019-02-preview --java` is specified on the command line.
+
+Please also specify `--azure-libraries-for-java=`.
-Please also specify `--azure-libraries-for-java=`.
+``` yaml $(tag) == 'package-2019-02-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.eventgrid.v2019_02_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/eventgrid/resource-manager/v2019_02_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2019-01 and java
+
+These settings apply only when `--tag=package-2019-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.eventgrid.v2019_01_01
+ output-folder: $(azure-libraries-for-java-folder)/eventgrid/resource-manager/v2019_01_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2018-09-preview and java
+
+These settings apply only when `--tag=package-2018-09-preview --java` is specified on the command line.
+
+Please also specify `--azure-libraries-for-java=`.
-``` yaml $(tag) == 'package-2018-09-preview' && $(java) && $(multiapi)
+``` yaml $(tag) == 'package-2018-09-preview' && $(java) && $(multiapi)
java:
namespace: com.microsoft.azure.management.eventgrid.v2018_09_15_preview
output-folder: $(azure-libraries-for-java-folder)/eventgrid/resource-manager/v2018_09_15_preview
diff --git a/specification/eventgrid/resource-manager/readme.ruby.md b/specification/eventgrid/resource-manager/readme.ruby.md
index 8c534cd95f85..52e68a33738d 100644
--- a/specification/eventgrid/resource-manager/readme.ruby.md
+++ b/specification/eventgrid/resource-manager/readme.ruby.md
@@ -12,6 +12,8 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2019-02-preview
+ - tag: package-2019-01
- tag: package-2018-09-preview
- tag: package-2018-05-preview
- tag: package-2018-01
@@ -19,6 +21,26 @@ batch:
- tag: package-2017-06-preview
```
+### Tag: package-2019-02-preview and ruby
+These settings apply only when `--tag=package-2019-02-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-02-preview' && $(ruby)
+
+namespace: "Azure::EventGrid::Mgmt::V2019_02_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib
+```
+
+### Tag: package-2019-01 and ruby
+
+These settings apply only when `--tag=package-2019-01 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-01' && $(ruby)
+namespace: "Azure::EventGrid::Mgmt::V2019_01_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib
+```
+
### Tag: package-2018-09-preview and ruby
These settings apply only when `--tag=package-2018-09-preview --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
@@ -67,4 +89,4 @@ Please also specify `--ruby-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.eventhub
- package-name: azure-mgmt-eventhub
- package-version: 1.3.0
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-eventhub/azure/mgmt/eventhub
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-eventhub
-```
+See configuration in [readme.python.md](./readme.python.md)
## Go
diff --git a/specification/eventhub/resource-manager/readme.python.md b/specification/eventhub/resource-manager/readme.python.md
new file mode 100644
index 000000000000..de6feb13630d
--- /dev/null
+++ b/specification/eventhub/resource-manager/readme.python.md
@@ -0,0 +1,57 @@
+## 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-eventhub
+ clear-output-folder: true
+ no-namespace-folders: true
+```
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(python) && $(multiapi)
+batch:
+ - tag: package-2018-01-preview
+ - tag: package-2017-04
+ - tag: package-2015-08
+```
+
+### Tag: package-2018-01-preview and python
+
+These settings apply only when `--tag=package-2018-01-preview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-01-preview' && $(python)
+python:
+ namespace: azure.mgmt.eventhub.v2018_01_01_preview
+ output-folder: $(python-sdks-folder)/azure-mgmt-eventhub/azure/mgmt/eventhub/v2018_01_01_preview
+```
+
+### Tag: package-2017-04 and python
+
+These settings apply only when `--tag=package-2017-04 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2017-04' && $(python)
+python:
+ namespace: azure.mgmt.eventhub.v2017_04_01
+ output-folder: $(python-sdks-folder)/azure-mgmt-eventhub/azure/mgmt/eventhub/v2017_04_01
+```
+
+### Tag: package-2015-08 and python
+
+These settings apply only when `--tag=package-2015-08 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2015-08' && $(python)
+python:
+ namespace: azure.mgmt.eventhub.v2015_08_01
+ output-folder: $(python-sdks-folder)/azure-mgmt-eventhub/azure/mgmt/eventhub/v2015_08_01
+```
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/frontdoor.json b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/frontdoor.json
index 35eb5a6fa79a..d648d66065da 100644
--- a/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/frontdoor.json
+++ b/specification/frontdoor/resource-manager/Microsoft.Network/preview/2018-08-01-preview/frontdoor.json
@@ -1188,7 +1188,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/provider/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}": {
"get": {
"tags": [
"FrontDoors"
@@ -1394,7 +1394,7 @@
"x-ms-long-running-operation": true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/provider/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps": {
"post": {
"tags": [
"FrontDoors"
@@ -1449,7 +1449,7 @@
"x-ms-long-running-operation": true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/provider/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps": {
"post": {
"tags": [
"FrontDoors"
diff --git a/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json b/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json
index 4b9d1e131555..20167c729411 100644
--- a/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json
+++ b/specification/graphrbac/data-plane/Microsoft.GraphRbac/stable/1.6/graphrbac.json
@@ -191,7 +191,7 @@
"operationId": "DeletedApplications_Restore",
"description": "Restores the deleted application in the directory.",
"parameters": [
- {
+ {
"name": "objectId",
"in": "path",
"required": true,
@@ -1955,73 +1955,112 @@
}
}
},
- "/{tenantID}/oauth2PermissionGrants" : {
- "get" : {
- "tags": [
- "OAuth2Permissions_get"
- ],
- "operationId": "OAuth2_Get",
- "description": "Queries OAuth2 permissions for the relevant SP ObjectId of an app.",
- "produces" : [ "application/json" ],
- "parameters" : [
- {
- "name" : "$filter",
- "in" : "query",
- "required" : false,
- "type" : "string",
- "x-example" : "clientId+eq+'61ed44c3-5a1d-4639-a215-07f25129c6c3'",
- "description": "This is the Service Principal ObjectId associated with the app"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/tenantIDInPath"
- }
- ],
- "responses" : {
- "200" : {
- "description" : "OK. The operation was successful.",
- "schema" : {
- "$ref" : "#/definitions/Permissions"
+ "/{tenantID}/oauth2PermissionGrants": {
+ "get": {
+ "tags": [
+ "OAuth2PermissionGrant_List"
+ ],
+ "operationId": "OAuth2PermissionGrant_List",
+ "description": "Queries OAuth2 permissions grants for the relevant SP ObjectId of an app.",
+ "produces": [ "application/json" ],
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "x-example": "clientId+eq+'61ed44c3-5a1d-4639-a215-07f25129c6c3",
+ "description": "This is the Service Principal ObjectId associated with the app"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/tenantIDInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OAuth2PermissionGrantListResult"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink",
+ "operationName": "OAuth2PermissionGrant_ListNext"
}
},
- "post" : {
- "tags": [
- "OAuth2Permissions_Grant"
- ],
- "consumes" : [ "application/json" ],
- "operationId": "OAuth2_Grant",
+ "post": {
+ "tags": [
+ "OAuth2PermissionGrant_Create"
+ ],
+ "consumes": [ "application/json" ],
+ "operationId": "OAuth2PermissionGrant_Create",
"description": "Grants OAuth2 permissions for the relevant resource Ids of an app.",
- "produces" : [ "application/json" ],
- "parameters" : [
+ "produces": [ "application/json" ],
+ "parameters": [
{
- "in" : "body",
- "name" : "body",
- "required" : false,
- "description": "The relevant app Service Principal Object Id and the Service Principal Object Id you want to grant.",
- "schema" : {
- "$ref" : "#/definitions/Permissions"
- },
- "x-examples" : {
- "application/json" : "{\n\t\"odata.type\": \"Microsoft.DirectoryServices.OAuth2PermissionGrant\",\n\t\"clientId\": \"39afbaa2-4a5c-4f5b-9ee3-2c83f09bbc87\", \n\t\"consentType\": \"AllPrincipals\",\n\t\"principalId\": null,\n\t\"resourceId\": \"d3247842-c517-4520-80a7-332690ae2fe4\",\n\t\"scope\": \"user_impersonation\",\n \"startTime\": \"0001-01-01T00:00:00\",\n \"expiryTime\": \"9000-01-01T00:00:00\"\n}",
- "description": "These are the values required to grant permission to a resourceId for an app, only one operation is allowed per request"
- }
+ "in": "body",
+ "name": "body",
+ "required": false,
+ "description": "The relevant app Service Principal Object Id and the Service Principal Object Id you want to grant.",
+ "schema": {
+ "$ref": "#/definitions/OAuth2PermissionGrant"
+ },
+ "x-examples": {
+ "application/json": "{\n\t\"odata.type\": \"Microsoft.DirectoryServices.OAuth2PermissionGrant\",\n\t\"clientId\": \"39afbaa2-4a5c-4f5b-9ee3-2c83f09bbc87\", \n\t\"consentType\": \"AllPrincipals\",\n\t\"principalId\": null,\n\t\"resourceId\": \"d3247842-c517-4520-80a7-332690ae2fe4\",\n\t\"scope\": \"user_impersonation\",\n \"startTime\": \"0001-01-01T00:00:00\",\n \"expiryTime\": \"9000-01-01T00:00:00\"\n}",
+ "description": "These are the values required to grant permission to a resourceId for an app, only one operation is allowed per request"
+ }
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "#/parameters/ApiVersionParameter"
},
{
- "$ref": "#/parameters/tenantIDInPath"
+ "$ref": "#/parameters/tenantIDInPath"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OAuth2PermissionGrant"
+ }
+ }
+ }
+ }
+ },
+ "/{tenantID}/oauth2PermissionGrants/{objectId}": {
+ "delete": {
+ "tags": [
+ "OAuth2PermissionGrant_delete"
+ ],
+ "operationId": "OAuth2PermissionGrant_Delete",
+ "description": "Delete a OAuth2 permission grant for the relevant resource Ids of an app.",
+ "parameters": [
+ {
+ "name": "objectId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The object ID of a permission grant."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/tenantIDInPath"
}
],
- "responses" : {
- "201" : {
- "description" : "OK. The operation was successful.",
- "schema" : {
- "$ref" : "#/definitions/Permissions"
+ "responses": {
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/GraphError"
}
}
}
@@ -2029,6 +2068,49 @@
}
},
"x-ms-paths": {
+ "/{tenantID}/{nextLink}?OAuth2PermissionGrant_ListNext": {
+ "get": {
+ "tags": [
+ "OAuth2PermissionGrant_ListNext"
+ ],
+ "operationId": "OAuth2PermissionGrant_ListNext",
+ "description": "Gets the next page of OAuth2 permission grants",
+ "parameters": [
+ {
+ "name": "nextLink",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Next link for the list operation.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/tenantIDInPath"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OAuth2PermissionGrantListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/GraphError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "odata.nextLink",
+ "operationName": "OAuth2PermissionGrant_ListNext"
+ }
+ }
+ },
"/{tenantID}/{nextLink}?SignedInUser_ListOwnedObjectsNext": {
"get": {
"tags": [
@@ -2369,6 +2451,168 @@
}
},
"definitions": {
+ "InformationalUrl": {
+ "type": "object",
+ "description": "Represents a group of URIs that provide terms of service, marketing, support and privacy policy information about an application. The default value for each string is null.",
+ "properties": {
+ "termsOfService": {
+ "description": "The terms of service URI",
+ "type": "string"
+ },
+ "marketing": {
+ "description": "The marketing URI",
+ "type": "string"
+ },
+ "privacy": {
+ "description": "The privacy policy URI",
+ "type": "string"
+ },
+ "support": {
+ "description": "The support URI",
+ "type": "string"
+ }
+ }
+ },
+ "OAuth2Permission": {
+ "type": "object",
+ "description": "Represents an OAuth 2.0 delegated permission scope. The specified OAuth 2.0 delegated permission scopes may be requested by client applications (through the requiredResourceAccess collection on the Application object) when calling a resource application. The oauth2Permissions property of the ServicePrincipal entity and of the Application entity is a collection of OAuth2Permission.",
+ "properties": {
+ "adminConsentDescription": {
+ "description": "Permission help text that appears in the admin consent and app assignment experiences.",
+ "type": "string"
+ },
+ "adminConsentDisplayName": {
+ "description": "Display name for the permission that appears in the admin consent and app assignment experiences.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique scope permission identifier inside the oauth2Permissions collection.",
+ "type": "string"
+ },
+ "isEnabled": {
+ "description": "When creating or updating a permission, this property must be set to true (which is the default). To delete a permission, this property must first be set to false. At that point, in a subsequent call, the permission may be removed. ",
+ "type": "boolean"
+ },
+ "type": {
+ "description": "Specifies whether this scope permission can be consented to by an end user, or whether it is a tenant-wide permission that must be consented to by a Company Administrator. Possible values are \"User\" or \"Admin\".",
+ "type": "string"
+ },
+ "userConsentDescription": {
+ "description": "Permission help text that appears in the end user consent experience.",
+ "type": "string"
+ },
+ "userConsentDisplayName": {
+ "description": "Display name for the permission that appears in the end user consent experience.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value of the scope claim that the resource application should expect in the OAuth 2.0 access token.",
+ "type": "string"
+ }
+ }
+ },
+ "OptionalClaims": {
+ "type": "object",
+ "description": "Specifying the claims to be included in the token.",
+ "properties": {
+ "idToken": {
+ "description": "Optional claims requested to be included in the id token.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OptionalClaim"
+ }
+ },
+ "accessToken": {
+ "description": "Optional claims requested to be included in the access token.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OptionalClaim"
+ }
+ },
+ "samlToken": {
+ "description": "Optional claims requested to be included in the saml token.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OptionalClaim"
+ }
+ }
+ }
+ },
+ "OptionalClaim": {
+ "type": "object",
+ "description": "Specifying the claims to be included in a token.",
+ "properties": {
+ "name": {
+ "description": "Claim name.",
+ "type": "string"
+ },
+ "source": {
+ "description": "Claim source.",
+ "type": "string"
+ },
+ "essential": {
+ "description": "Is this a requied claim.",
+ "type": "boolean"
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ }
+ },
+ "PreAuthorizedApplication": {
+ "type": "object",
+ "description": "Contains information about pre authorized client application.",
+ "properties": {
+ "appId": {
+ "description": "Represents the application id.",
+ "type": "string"
+ },
+ "permissions": {
+ "description": "Collection of required app permissions/entitlements from the resource application.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PreAuthorizedApplicationPermission"
+ }
+ },
+ "extensions": {
+ "description": "Collection of extensions from the resource application.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PreAuthorizedApplicationExtension"
+ }
+ }
+ }
+ },
+ "PreAuthorizedApplicationPermission": {
+ "type": "object",
+ "description": "Contains information about the pre-authorized permissions.",
+ "properties": {
+ "directAccessGrant": {
+ "description": "Indicates whether the permission set is DirectAccess or impersonation.",
+ "type": "boolean"
+ },
+ "accessGrants": {
+ "description": "The list of permissions.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PreAuthorizedApplicationExtension": {
+ "type": "object",
+ "description": "Representation of an app PreAuthorizedApplicationExtension required by a pre authorized client app.",
+ "properties": {
+ "conditions": {
+ "description": "The extension's conditions.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
"GraphError": {
"type": "object",
"properties": {
@@ -2464,7 +2708,7 @@
"description": "Type. Acceptable values are 'AsymmetricX509Cert' and 'Symmetric'."
},
"customKeyIdentifier": {
- "type":"string",
+ "type": "string",
"description": "Custom Key Identifier"
}
},
@@ -2515,7 +2759,7 @@
},
"description": "The list of OAuth2.0 permission scopes and app roles that the application requires from the specified resource."
},
- "resourceAppId" : {
+ "resourceAppId": {
"type": "string",
"description": "The unique identifier for the resource that the application requires access to. This should be equal to the appId declared on the target resource application."
}
@@ -2548,9 +2792,34 @@
],
"description": "Specifies an OAuth 2.0 permission scope or an app role that an application requires. The resourceAccess property of the RequiredResourceAccess type is a collection of ResourceAccess."
},
- "ApplicationCreateParameters": {
+ "GroupMembershipClaims": {
+ "description": "Configures the groups claim issued in a user or OAuth 2.0 access token that the app expects.",
+ "enum": [
+ "None",
+ "SecurityGroup",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "GroupMembershipClaimTypes",
+ "modelAsString": true
+ }
+ },
+ "ApplicationBase": {
"type": "object",
+ "description": "Active Directive Application common properties shared among GET, POST and PATCH",
"properties": {
+ "allowGuestsSignIn": {
+ "description": "A property on the application to indicate if the application accepts other IDPs or not or partially accepts.",
+ "type": "boolean"
+ },
+ "allowPassthroughUsers": {
+ "description": "Indicates that the application supports pass through users who have no presence in the resource tenant.",
+ "type": "boolean"
+ },
+ "appLogoUrl": {
+ "description": "The url for the application logo image stored in a CDN.",
+ "type": "string"
+ },
"appRoles": {
"type": "array",
"items": {
@@ -2558,134 +2827,181 @@
},
"description": "The collection of application roles that an application may declare. These roles can be assigned to users, groups or service principals."
},
+ "appPermissions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The application permissions."
+ },
"availableToOtherTenants": {
"type": "boolean",
"description": "Whether the application is available to other tenants."
},
- "displayName": {
- "type": "string",
- "description": "The display name of the application."
+ "errorUrl": {
+ "description": "A URL provided by the author of the application to report errors when using the application.",
+ "type": "string"
+ },
+ "groupMembershipClaims": {
+ "$ref": "#/definitions/GroupMembershipClaims",
+ "description": "Configures the groups claim issued in a user or OAuth 2.0 access token that the app expects."
},
"homepage": {
"type": "string",
"description": "The home page of the application."
},
- "identifierUris": {
+ "informationalUrls": {
+ "$ref": "#/definitions/InformationalUrl",
+ "description": "urls with more informations of the application."
+ },
+ "isDeviceOnlyAuthSupported": {
+ "description": "Specifies whether this application supports device authentication without a user. The default is false.",
+ "type": "boolean"
+ },
+ "keyCredentials": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/KeyCredential"
},
- "description": "A collection of URIs for the application."
+ "description": "A collection of KeyCredential objects."
},
- "replyUrls": {
+ "knownClientApplications": {
+ "description": "Client applications that are tied to this resource application. Consent to any of the known client applications will result in implicit consent to the resource application through a combined consent dialog (showing the OAuth permission scopes required by the client and the resource).",
"type": "array",
"items": {
"type": "string"
- },
- "description": "A collection of reply URLs for the application."
+ }
},
- "keyCredentials": {
+ "logoutUrl": {
+ "type": "string",
+ "description": "the url of the logout page"
+ },
+ "oauth2AllowImplicitFlow": {
+ "type": "boolean",
+ "description": "Whether to allow implicit grant flow for OAuth2"
+ },
+ "oauth2AllowUrlPathMatching": {
+ "description": "Specifies whether during a token Request Azure AD will allow path matching of the redirect URI against the applications collection of replyURLs. The default is false.",
+ "type": "boolean"
+ },
+ "oauth2Permissions": {
+ "description": "The collection of OAuth 2.0 permission scopes that the web API (resource) application exposes to client applications. These permission scopes may be granted to client applications during consent.",
"type": "array",
"items": {
- "$ref": "#/definitions/KeyCredential"
- },
- "description": "The list of KeyCredential objects."
+ "$ref": "#/definitions/OAuth2Permission"
+ }
+ },
+ "oauth2RequirePostResponse": {
+ "description": "Specifies whether, as part of OAuth 2.0 token requests, Azure AD will allow POST requests, as opposed to GET requests. The default is false, which specifies that only GET requests will be allowed.",
+ "type": "boolean"
+ },
+ "orgRestrictions": {
+ "description": "A list of tenants allowed to access application.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "optionalClaims": {
+ "$ref": "#/definitions/OptionalClaims"
},
"passwordCredentials": {
"type": "array",
"items": {
"$ref": "#/definitions/PasswordCredential"
},
- "description": "The list of PasswordCredential objects."
+ "description": "A collection of PasswordCredential objects"
},
- "oauth2AllowImplicitFlow" : {
- "type": "boolean",
- "description": "Whether to allow implicit grant flow for OAuth2"
+ "preAuthorizedApplications": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PreAuthorizedApplication"
+ },
+ "description": "list of pre-authorizaed applications."
+ },
+ "publicClient": {
+ "description": "Specifies whether this application is a public client (such as an installed application running on a mobile device). Default is false.",
+ "type": "boolean"
+ },
+ "publisherDomain": {
+ "description": "Reliable domain which can be used to identify an application.",
+ "type": "string"
+ },
+ "replyUrls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A collection of reply URLs for the application."
},
- "requiredResourceAccess" : {
+ "requiredResourceAccess": {
"type": "array",
"items": {
"$ref": "#/definitions/RequiredResourceAccess"
},
"description": "Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience."
- }
- },
+ },
+ "samlMetadataUrl": {
+ "description": "The URL to the SAML metadata for the application.",
+ "type": "string"
+ },
+ "signInAudience": {
+ "description": "Audience for signing in to the application (AzureADMyOrganizatio, AzureADAllorganizations, AzureADAndMicrosofAccounts).",
+ "type": "string"
+ },
+ "wwwHomepage": {
+ "description": "The primary Web page.",
+ "type": "string"
+ }
+ }
+ },
+ "ApplicationCreateParameters": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationBase"
+ }
+ ],
"required": [
- "availableToOtherTenants",
"displayName",
"identifierUris"
],
- "additionalProperties": {
- "type": "object"
- },
- "description": "Request parameters for creating a new application."
- },
- "ApplicationUpdateParameters": {
- "type": "object",
"properties": {
- "appRoles": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AppRole"
- },
- "description": "The collection of application roles that an application may declare. These roles can be assigned to users, groups or service principals."
- },
- "availableToOtherTenants": {
- "type": "boolean",
- "description": "Whether the application is available to other tenants"
- },
"displayName": {
"type": "string",
"description": "The display name of the application."
},
- "homepage": {
- "type": "string",
- "description": "The home page of the application."
- },
"identifierUris": {
"type": "array",
"items": {
"type": "string"
},
"description": "A collection of URIs for the application."
+ }
+ },
+ "description": "Request parameters for creating a new application."
+ },
+ "ApplicationUpdateParameters": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApplicationBase"
+ }
+ ],
+ "description": "Request parameters for updating a new application.",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the application."
},
- "replyUrls": {
+ "identifierUris": {
"type": "array",
"items": {
"type": "string"
},
- "description": "A collection of reply URLs for the application."
- },
- "keyCredentials": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/KeyCredential"
- },
- "description": "The list of KeyCredential objects."
- },
- "passwordCredentials": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/PasswordCredential"
- },
- "description": "The list of PasswordCredential objects."
- },
- "oauth2AllowImplicitFlow" : {
- "type": "boolean",
- "description": "Whether to allow implicit grant flow for OAuth2"
- },
- "requiredResourceAccess" : {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RequiredResourceAccess"
- },
- "description": "Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience."
+ "description": "A collection of URIs for the application."
}
- },
- "additionalProperties": {
- "type": "object"
- },
- "description": "Request parameters for updating an existing application."
+ }
},
"Application": {
"type": "object",
@@ -2699,6 +3015,18 @@
"type": "string",
"description": "The application ID."
},
+ "allowGuestsSignIn": {
+ "description": "A property on the application to indicate if the application accepts other IDPs or not or partially accepts.",
+ "type": "boolean"
+ },
+ "allowPassthroughUsers": {
+ "description": "Indicates that the application supports pass through users who have no presence in the resource tenant.",
+ "type": "boolean"
+ },
+ "appLogoUrl": {
+ "description": "The url for the application logo image stored in a CDN.",
+ "type": "string"
+ },
"appRoles": {
"type": "array",
"items": {
@@ -2715,12 +3043,24 @@
},
"availableToOtherTenants": {
"type": "boolean",
- "description": "Whether the application is be available to other tenants."
+ "description": "Whether the application is available to other tenants."
},
"displayName": {
"type": "string",
"description": "The display name of the application."
},
+ "errorUrl": {
+ "description": "A URL provided by the author of the application to report errors when using the application.",
+ "type": "string"
+ },
+ "groupMembershipClaims": {
+ "$ref": "#/definitions/GroupMembershipClaims",
+ "description": "Configures the groups claim issued in a user or OAuth 2.0 access token that the app expects."
+ },
+ "homepage": {
+ "type": "string",
+ "description": "The home page of the application."
+ },
"identifierUris": {
"type": "array",
"items": {
@@ -2728,34 +3068,60 @@
},
"description": "A collection of URIs for the application."
},
- "replyUrls": {
+ "informationalUrls": {
+ "$ref": "#/definitions/InformationalUrl",
+ "description": "urls with more informations of the application."
+ },
+ "isDeviceOnlyAuthSupported": {
+ "description": "Specifies whether this application supports device authentication without a user. The default is false.",
+ "type": "boolean"
+ },
+ "keyCredentials": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/definitions/KeyCredential"
},
- "description": "A collection of reply URLs for the application."
+ "description": "A collection of KeyCredential objects."
},
- "homepage": {
+ "knownClientApplications": {
+ "description": "Client applications that are tied to this resource application. Consent to any of the known client applications will result in implicit consent to the resource application through a combined consent dialog (showing the OAuth permission scopes required by the client and the resource).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "logoutUrl": {
"type": "string",
- "description": "The home page of the application."
+ "description": "the url of the logout page"
},
"oauth2AllowImplicitFlow": {
"type": "boolean",
"description": "Whether to allow implicit grant flow for OAuth2"
},
- "requiredResourceAccess": {
+ "oauth2AllowUrlPathMatching": {
+ "description": "Specifies whether during a token Request Azure AD will allow path matching of the redirect URI against the applications collection of replyURLs. The default is false.",
+ "type": "boolean"
+ },
+ "oauth2Permissions": {
+ "description": "The collection of OAuth 2.0 permission scopes that the web API (resource) application exposes to client applications. These permission scopes may be granted to client applications during consent.",
"type": "array",
"items": {
- "$ref": "#/definitions/RequiredResourceAccess"
- },
- "description": "Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience."
+ "$ref": "#/definitions/OAuth2Permission"
+ }
},
- "keyCredentials": {
+ "oauth2RequirePostResponse": {
+ "description": "Specifies whether, as part of OAuth 2.0 token requests, Azure AD will allow POST requests, as opposed to GET requests. The default is false, which specifies that only GET requests will be allowed.",
+ "type": "boolean"
+ },
+ "orgRestrictions": {
+ "description": "A list of tenants allowed to access application.",
"type": "array",
"items": {
- "$ref": "#/definitions/KeyCredential"
- },
- "description": "A collection of KeyCredential objects."
+ "type": "string"
+ }
+ },
+ "optionalClaims": {
+ "$ref": "#/definitions/OptionalClaims"
},
"passwordCredentials": {
"type": "array",
@@ -2763,6 +3129,47 @@
"$ref": "#/definitions/PasswordCredential"
},
"description": "A collection of PasswordCredential objects"
+ },
+ "preAuthorizedApplications": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PreAuthorizedApplication"
+ },
+ "description": "list of pre-authorizaed applications."
+ },
+ "publicClient": {
+ "description": "Specifies whether this application is a public client (such as an installed application running on a mobile device). Default is false.",
+ "type": "boolean"
+ },
+ "publisherDomain": {
+ "description": "Reliable domain which can be used to identify an application.",
+ "type": "string"
+ },
+ "replyUrls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A collection of reply URLs for the application."
+ },
+ "requiredResourceAccess": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RequiredResourceAccess"
+ },
+ "description": "Specifies resources that this application requires access to and the set of OAuth permission scopes and application roles that it needs under each of those resources. This pre-configuration of required resource access drives the consent experience."
+ },
+ "samlMetadataUrl": {
+ "description": "The URL to the SAML metadata for the application.",
+ "type": "string"
+ },
+ "signInAudience": {
+ "description": "Audience for signing in to the application (AzureADMyOrganizatio, AzureADAllorganizations, AzureADAndMicrosofAccounts).",
+ "type": "string"
+ },
+ "wwwHomepage": {
+ "description": "The primary Web page.",
+ "type": "string"
}
},
"description": "Active Directory application information."
@@ -2791,14 +3198,14 @@
"type": "string",
"description": "Unique role identifier inside the appRoles collection."
},
- "allowedMemberTypes":{
+ "allowedMemberTypes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specifies whether this app role definition can be assigned to users and groups by setting to 'User', or to other applications (that are accessing this application in daemon service scenarios) by setting to 'Application', or to both. "
},
- "description" : {
+ "description": {
"type": "string",
"description": "Permission help text that appears in the admin app assignment and consent experiences."
},
@@ -3068,76 +3475,57 @@
},
"description": "Server response for IsMemberOf API call"
},
- "ServicePrincipalCreateParameters": {
+ "ServicePrincipalBase": {
"type": "object",
+ "description": "Active Directory service principal common perperties shared among GET, POST and PATCH",
"properties": {
"accountEnabled": {
- "type": "boolean",
- "description": "Whether the account is enabled"
- },
- "appId": {
- "type": "string",
- "description": "application Id"
- },
- "appRoleAssignmentRequired": {
- "type": "boolean",
- "description": "Specifies whether an AppRoleAssignment to a user or group is required before Azure AD will issue a user or access token to the application."
- },
- "displayName": {
- "type": "string",
- "description": "The display name for the service principal."
- },
- "errorUrl": {
+ "description": "whether or not the service principal account is enabled",
"type": "string"
},
- "homepage": {
- "type": "string",
- "description": "The URL to the homepage of the associated application."
- },
+ "appRoleAssignmentRequired": {
+ "description": "Specifies whether an AppRoleAssignment to a user or group is required before Azure AD will issue a user or access token to the application.",
+ "type": "boolean"
+ },
"keyCredentials": {
+ "description": "The collection of key credentials associated with the service principal.",
"type": "array",
"items": {
"$ref": "#/definitions/KeyCredential"
- },
- "description": "A collection of KeyCredential objects."
+ }
},
"passwordCredentials": {
+ "description": "The collection of password credentials associated with the service principal.",
"type": "array",
"items": {
"$ref": "#/definitions/PasswordCredential"
- },
- "description": "A collection of PasswordCredential objects"
+ }
},
- "publisherName": {
+ "servicePrincipalType": {
"type": "string",
- "description": "The display name of the tenant in which the associated application is specified."
- },
- "replyUrls": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "A collection of reply URLs for the service principal."
- },
- "samlMetadataUrl": {
- "type": "string"
- },
- "servicePrincipalNames": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "A collection of service principal names."
+ "description": "the type of the servie principal"
},
"tags": {
+ "description": "Optional list of tags that you can apply to your service principals. Not nullable.",
"type": "array",
"items": {
"type": "string"
}
}
- },
- "additionalProperties": {
- "type": "object"
+ }
+ },
+ "ServicePrincipalCreateParameters": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePrincipalBase"
+ }
+ ],
+ "properties": {
+ "appId": {
+ "type": "string",
+ "description": "The application ID."
+ }
},
"required": [
"appId"
@@ -3146,57 +3534,114 @@
},
"ServicePrincipalUpdateParameters": {
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServicePrincipalBase"
+ }
+ ],
+ "description": "Request parameters for update an existing service principal."
+ },
+ "ServicePrincipal": {
+ "type": "object",
+ "description": "Active Directory service principal information.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DirectoryObject"
+ }
+ ],
"properties": {
"accountEnabled": {
- "type": "boolean",
- "description": "Whether the account is enabled"
+ "description": "whether or not the service principal account is enabled",
+ "type": "string"
+ },
+ "alternativeNames": {
+ "description": "altenative names",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "appDisplayName": {
+ "description": "The display name exposed by the associated application.",
+ "readOnly": true,
+ "type": "string"
},
"appId": {
"type": "string",
- "description": "application Id"
+ "description": "The application ID."
+ },
+ "appOwnerTenantId": {
+ "readOnly": true,
+ "type": "string"
},
"appRoleAssignmentRequired": {
- "type": "boolean",
- "description": "Specifies whether an AppRoleAssignment to a user or group is required before Azure AD will issue a user or access token to the application."
+ "description": "Specifies whether an AppRoleAssignment to a user or group is required before Azure AD will issue a user or access token to the application.",
+ "type": "boolean"
+ },
+ "appRoles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AppRole"
+ },
+ "description": "The collection of application roles that an application may declare. These roles can be assigned to users, groups or service principals."
},
"displayName": {
"type": "string",
- "description": "The display name for the service principal."
+ "description": "The display name of the service principal."
},
"errorUrl": {
- "type": "string"
+ "type": "string",
+ "description": "A URL provided by the author of the associated application to report errors when using the application."
},
"homepage": {
- "type": "string",
- "description": "The URL to the homepage of the associated application."
+ "description": "The URL to the homepage of the associated application.",
+ "type": "string"
},
"keyCredentials": {
+ "description": "The collection of key credentials associated with the service principal.",
"type": "array",
"items": {
"$ref": "#/definitions/KeyCredential"
- },
- "description": "A collection of KeyCredential objects."
+ }
+ },
+ "logoutUrl": {
+ "type": "string",
+ "description": "A URL provided by the author of the associated application to logout"
+
+ },
+ "oauth2Permissions": {
+ "description": "The OAuth 2.0 permissions exposed by the associated application.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OAuth2Permission"
+ }
},
"passwordCredentials": {
+ "description": "The collection of password credentials associated with the service principal.",
"type": "array",
"items": {
"$ref": "#/definitions/PasswordCredential"
- },
- "description": "A collection of PasswordCredential objects"
+ }
+ },
+ "preferredTokenSigningKeyThumbprint": {
+ "description": "The thubmbprint of preferred certificate to sign the token",
+ "type": "string"
},
"publisherName": {
- "type": "string",
- "description": "The display name of the tenant in which the associated application is specified."
+ "description": "The publisher's name of the associated application",
+ "type": "string"
},
"replyUrls": {
+ "description": "The URLs that user tokens are sent to for sign in with the associated application. The redirect URIs that the oAuth 2.0 authorization code and access tokens are sent to for the associated application.",
"type": "array",
"items": {
"type": "string"
- },
- "description": "A collection of reply URLs for the service principal."
+ }
},
"samlMetadataUrl": {
- "type": "string"
+ "type": "string",
+ "description": "The URL to the SAML metadata of the associated application"
},
"servicePrincipalNames": {
"type": "array",
@@ -3205,50 +3650,18 @@
},
"description": "A collection of service principal names."
},
- "tags": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "additionalProperties": {
- "type": "object"
- },
- "description": "Request parameters for creating a new service principal."
- },
- "ServicePrincipal": {
- "allOf": [
- {
- "$ref": "#/definitions/DirectoryObject"
- }
- ],
- "type": "object",
- "properties": {
- "displayName": {
- "type": "string",
- "description": "The display name of the service principal."
- },
- "appId": {
+ "servicePrincipalType": {
"type": "string",
- "description": "The application ID."
+ "description": "the type of the servie principal"
},
- "appRoles": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AppRole"
- },
- "description": "The collection of application roles that an application may declare. These roles can be assigned to users, groups or service principals."
- },
- "servicePrincipalNames": {
+ "tags": {
+ "description": "Optional list of tags that you can apply to your service principals. Not nullable.",
"type": "array",
"items": {
"type": "string"
- },
- "description": "A collection of service principal names."
+ }
}
- },
- "description": "Active Directory service principal information."
+ }
},
"ServicePrincipalListResult": {
"type": "object",
@@ -3596,51 +4009,80 @@
},
"description": "Server response for Get tenant domains API call."
},
- "Permissions" : {
- "properties" : {
- "odata.type" : {
- "type" : "string",
+ "OAuth2PermissionGrant": {
+ "properties": {
+ "odata.type": {
+ "type": "string",
"description": "Microsoft.DirectoryServices.OAuth2PermissionGrant"
},
- "clientId" : {
- "type" : "string",
- "description": "The objectId of the Service Principal associated with the app"
+ "clientId": {
+ "type": "string",
+ "description": "The id of the resource's service principal granted consent to impersonate the user when accessing the resource (represented by the resourceId property)."
},
- "consentType" : {
- "type" : "string",
- "description": "Typically set to AllPrincipals"
+ "objectId": {
+ "type": "string",
+ "description": "The id of the permission grant"
},
- "principalId" : {
- "type" : "object",
- "description": "Set to null if AllPrincipals is set"
+ "consentType": {
+ "type": "string",
+ "description": "Indicates if consent was provided by the administrator (on behalf of the organization) or by an individual.",
+ "enum": [
+ "AllPrincipals",
+ "Principal"
+ ],
+ "x-ms-enum": {
+ "name": "ConsentType",
+ "modelAsString": true
+ }
},
- "resourceId" : {
- "type" : "string",
- "description" : "Service Principal Id of the resource you want to grant"
+ "principalId": {
+ "type": "string",
+ "description": "When consent type is Principal, this property specifies the id of the user that granted consent and applies only for that user."
},
- "scope" : {
- "type" : "string",
- "description": "Typically set to user_impersonation"
+ "resourceId": {
+ "type": "string",
+ "description": "Object Id of the resource you want to grant"
+ },
+ "scope": {
+ "type": "string",
+ "description": "Specifies the value of the scope claim that the resource application should expect in the OAuth 2.0 access token. For example, User.Read"
},
- "startTime" : {
- "type" : "string",
- "description" : "Start time for TTL"
+ "startTime": {
+ "type": "string",
+ "description": "Start time for TTL"
},
- "expiryTime" : {
- "type" : "string",
- "description" : "Expiry time for TTL"
+ "expiryTime": {
+ "type": "string",
+ "description": "Expiry time for TTL"
}
},
- "example" : {
- "odata.type" : "odata.type",
- "resourceId" : "resourceId",
- "clientId" : "clientId",
- "scope" : "scope",
- "expiryTime" : "expiryTime",
- "consentType" : "consentType",
- "principalId" : "",
- "startTime" : "startTime"
+ "example": {
+ "odata.type": "odata.type",
+ "resourceId": "resourceId",
+ "clientId": "clientId",
+ "scope": "scope",
+ "expiryTime": "expiryTime",
+ "consentType": "consentType",
+ "principalId": "",
+ "startTime": "startTime"
}
+ },
+ "OAuth2PermissionGrantListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OAuth2PermissionGrant"
+ },
+ "description": "the list of oauth2 permissions grants"
+ },
+ "odata.nextLink": {
+ "type": "string",
+ "description": "the URL to get the next set of results."
+ }
+ },
+ "description": "Server response for get oauth2 permissions grants"
}
},
"parameters": {
diff --git a/specification/graphrbac/data-plane/readme.md b/specification/graphrbac/data-plane/readme.md
index 2f5731187931..c65c065e5dad 100644
--- a/specification/graphrbac/data-plane/readme.md
+++ b/specification/graphrbac/data-plane/readme.md
@@ -39,6 +39,18 @@ input-file:
- Microsoft.GraphRbac/stable/1.6/graphrbac.json
```
+## Suppression
+
+``` yaml
+directive:
+ - suppress: D5001
+ reason: this spec never has examples. It is owned by the SDK group and we already have CLI commands testing it
+ - suppress: R2058
+ reason: existing since the spec started
+ - suppress: R3016
+ reason: existing since the spec started
+```
+
---
# Code Generation
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/createOrUpdateGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/createOrUpdateGuestConfigurationAssignment.json
index 78106a60a287..811541fb7038 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/createOrUpdateGuestConfigurationAssignment.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/createOrUpdateGuestConfigurationAssignment.json
@@ -42,6 +42,31 @@
"provisioningState": "Succeeded"
}
}
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": null,
+ "name": "multiconfigassignment2",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": null,
+ "latestReportId": null,
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy A",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": null,
+ "configurationSetting": null
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
}
}
}
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/deleteGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/deleteGuestConfigurationAssignment.json
index cf769c46fe5b..e60a966fc1d5 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/deleteGuestConfigurationAssignment.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/deleteGuestConfigurationAssignment.json
@@ -7,7 +7,6 @@
"api-version": "2018-06-30-preview"
},
"responses": {
- "200": {},
- "204": {}
+ "200": {}
}
}
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/getGuestConfigurationAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/getGuestConfigurationAssignmentReportById.json
index 0c3047e78fe8..1f179465600b 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/getGuestConfigurationAssignmentReportById.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/getGuestConfigurationAssignmentReportById.json
@@ -72,7 +72,9 @@
}
}],
"operationType": "Consistency"
- }
+ },
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
}
}
}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/listAllGuestConfigurationAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/listAllGuestConfigurationAssignmentReports.json
index 4213e34b8cd0..5c358e23f167 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/listAllGuestConfigurationAssignmentReports.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/listAllGuestConfigurationAssignmentReports.json
@@ -72,7 +72,9 @@
}
}],
"operationType": "Consistency"
- }
+ },
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
}
}, {
"id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c",
@@ -136,7 +138,9 @@
}
}],
"operationType": "Consistency"
- }
+ },
+ "startTime": "2018-08-29T21:58:54Z",
+ "endTime": "2018-08-29T21:59:13Z"
}
}]
}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/listOperations.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/listOperations.json
index 39d9feb85df6..090f99e37789 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/listOperations.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/examples/listOperations.json
@@ -1,33 +1,44 @@
{
"parameters": {
- "api-version": "2018-06-30-preview"
+ "api-version": "2018-06-30-preview"
},
"responses": {
- "200": {
- "headers": {},
- "body": {
- "value": [
- {
- "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
- "display": {
- "provider": "Microsoft Guest Configuration",
- "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
- "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
- "description": "Create new guest configuration assignment."
- },
- "properties": null
- },
- {
- "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
- "display": {
- "provider": "Microsoft Guest Configuration",
- "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
- "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
- "description": "Get guest configuration assignment."
- },
- "properties": null
- }]
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
+ "description": "Create new guest configuration assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
+ "description": "Get guest configuration assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read",
+ "description": "Get guest configuration assignment report."
+ },
+ "properties": null
+ }
+ ]
+ }
}
- }
}
- }
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json
index c64c31464d6b..9f0357aa462f 100644
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json
@@ -76,6 +76,12 @@
"$ref": "#/definitions/GuestConfigurationAssignment"
}
},
+ "200": {
+ "description": "OK. The guest configuration assignment for the VM was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -143,6 +149,57 @@
"consumes": [
"application/json"
]
+ },
+ "delete": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_Delete",
+ "description": "Delete a guest configuration assignment",
+ "x-ms-examples": {
+ "Delete an guest configuration assignment": {
+ "$ref": "./examples/deleteGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": {
@@ -537,6 +594,7 @@
"lastComplianceStatusChecked": {
"type": "string",
"readOnly": true,
+ "format":"date-time",
"description": "Date and time when last compliance status was checked.",
"x-nullable": true
},
@@ -566,7 +624,10 @@
"modelAsString": true
},
"enum": [
- "Succeeded"
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Created"
]
}
},
@@ -632,6 +693,18 @@
"$ref": "#/definitions/VMInfo",
"description": "Information about the VM."
},
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start date and time of the guest configuration assignment compliance status check."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End date and time of the guest configuration assignment compliance status check."
+ },
"details": {
"$ref": "#/definitions/AssignmentReportDetails",
"description": "Details of the assignment report."
@@ -697,11 +770,13 @@
"startTime": {
"type": "string",
"readOnly": true,
+ "format": "date-time",
"description": "Start date and time of the guest configuration assignment compliance status check."
},
"endTime": {
"type": "string",
"readOnly": true,
+ "format": "date-time",
"description": "End date and time of the guest configuration assignment compliance status check."
},
"jobId": {
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration_NotImplemented.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration_NotImplemented.json
deleted file mode 100644
index 6c8bd051e7dd..000000000000
--- a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration_NotImplemented.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2018-06-30-preview",
- "title": "GuestConfiguration"
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "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/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": {
- "delete": {
- "tags": [
- "GuestConfigurationAssignments"
- ],
- "operationId": "GuestConfigurationAssignments_Delete",
- "description": "Delete a guest configuration assignment",
- "x-ms-examples": {
- "Delete an guest configuration assignment": {
- "$ref": "./examples/deleteGuestConfigurationAssignment.json"
- }
- },
- "parameters": [
- {
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
- },
- {
- "name": "guestConfigurationAssignmentName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Name of the guest configuration assignment"
- },
- {
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
- },
- {
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
- },
- "204": {
- "description": "No Content"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "produces": [
- "application/json"
- ],
- "consumes": [
- "application/json"
- ]
- }
- }
- },
- "definitions": {},
- "parameters": {}
- }
-
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..dd6ceca7ed61
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/createOrUpdateGuestConfigurationAssignment.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "WhitelistedApplication",
+ "api-version": "2018-11-20",
+ "parameters": {
+ "location": "westcentralus",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "name": "WhitelistedApplication",
+ "version": "1.*",
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": "False",
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": null,
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": null,
+ "latestReportId": null,
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": "False",
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": null,
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": null,
+ "latestReportId": null,
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": "False",
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/deleteGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/deleteGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..5fbba52d76db
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/deleteGuestConfigurationAssignment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2018-11-20"
+ },
+ "responses": {
+ "200": {}
+ }
+ }
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..8518a3561500
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationAssignment.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2018-11-20"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol",
+ "name": "AuditSecureProtocol",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationAssignmentReportById.json
new file mode 100644
index 000000000000..f5fe2d993e59
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/getGuestConfigurationAssignmentReportById.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myvm",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "api-version": "2018-11-20"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.0"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "uuid": "vmuuid"
+ },
+ "details": {
+ "complianceStatus": "Compliant",
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z",
+ "jobId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "resources": [{
+ "complianceStatus": "Compliant",
+ "reasons": [{
+ "phrase": "Operation successful.",
+ "code": "DSC::RESOURCE::SUCCESS"
+ }],
+ "properties": {
+ "ConfigurationName": "IsWebServerSecure",
+ "DependsOn": null,
+ "IsSingleInstance": "Yes",
+ "ModuleName": "SecureProtocolWebServer",
+ "ModuleVersion": "1.0.0.3",
+ "Protocols": [{
+ "Ensure": "Absent",
+ "Protocol": "SSL 2.0"
+ }, {
+ "Ensure": "Absent",
+ "Protocol": "SSL 3.0"
+ }, {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.0"
+ }, {
+ "Ensure": "Absent",
+ "Protocol": "PCT 1.0"
+ }, {
+ "Ensure": "Absent",
+ "Protocol": "Multi-Protocol Unified Hello"
+ }, {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.1"
+ }, {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.2"
+ }],
+ "PsDscRunAsCredential": null,
+ "Reasons": null,
+ "ResourceId": "[SecureWebServer]s1",
+ "SourceInfo": null
+ }
+ }],
+ "operationType": "Consistency"
+ },
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listAllGuestConfigurationAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listAllGuestConfigurationAssignmentReports.json
new file mode 100644
index 000000000000..36fa550c640a
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listAllGuestConfigurationAssignmentReports.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "api-version": "2018-11-20"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body":{
+ "value": [{
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ }, {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "name": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T20:13:53Z",
+ "endTime": "2018-08-29T20:14:13Z"
+ }
+ }]
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listGuestConfigurationAssignments.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listGuestConfigurationAssignments.json
new file mode 100644
index 000000000000..698d88956c75
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listGuestConfigurationAssignments.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2018-11-20"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2",
+ "name": "AuditSecureProtocol2",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol2",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol2/AuditSecureProtocol2_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ },
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment",
+ "name": "myAssignment",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "myAssignment",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/myAssignment/myAssignment.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ }
+ ]
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listOperations.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listOperations.json
new file mode 100644
index 000000000000..03bbc5fd74fa
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/examples/listOperations.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-11-20"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
+ "description": "Create new guest configuration assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
+ "description": "Get guest configuration assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read",
+ "description": "Get guest configuration assignment report."
+ },
+ "properties": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json
new file mode 100644
index 000000000000..b4e14515a421
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json
@@ -0,0 +1,864 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-11-20",
+ "title": "GuestConfiguration"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "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/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": {
+ "put": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_CreateOrUpdate",
+ "description": "Creates an association between a VM and guest configuration",
+ "x-ms-examples": {
+ "Create or update guest configuration assignment": {
+ "$ref": "./examples/createOrUpdateGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ },
+ "description": "Parameters supplied to the create or update guest configuration assignment."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The guest configuration assignment for the VM was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "200": {
+ "description": "OK. The guest configuration assignment for the VM was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_Get",
+ "description": "Get information about a guest configuration assignment",
+ "x-ms-examples": {
+ "Get a guest configuration assignment": {
+ "$ref": "./examples/getGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The guest configuration assignment was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_Delete",
+ "description": "Delete a guest configuration assignment",
+ "x-ms-examples": {
+ "Delete an guest configuration assignment": {
+ "$ref": "./examples/deleteGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_List",
+ "description": "List all guest configuration assignments for a virtual machine.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listGuestConfigurationAssignments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentReports"
+ ],
+ "operationId": "GuestConfigurationAssignmentReports_List",
+ "description": "List all reports for the guest configuration assignment, latest report first.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listAllGuestConfigurationAssignmentReports.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no reports returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReportList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentReports"
+ ],
+ "operationId": "GuestConfigurationAssignmentReports_Get",
+ "description": "Get a report for the guest configuration assignment, by reportId.",
+ "x-ms-examples": {
+ "Get a guest configuration assignment report by Id for a virtual machine": {
+ "$ref": "./examples/getGuestConfigurationAssignmentReportById.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "name": "reportId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The GUID for the guest configuration assignment report."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no report was returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReport"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/providers/Microsoft.GuestConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available GuestConfiguration REST API operations.",
+ "x-ms-examples": {
+ "Lists all of the available GuestConfiguration REST API operations": {
+ "$ref": "./examples/listOperations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "GuestConfigurationAssignmentList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ },
+ "description": "Result of the list guest configuration assignment operation."
+ }
+ },
+ "description": "The response of the list guest configuration assignment operation."
+ },
+ "GuestConfigurationAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/GuestConfigurationAssignmentProperties",
+ "description": "Properties of the Guest configuration assignment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Guest configuration assignment is an association between a VM and guest configuration."
+ },
+ "GuestConfigurationNavigation": {
+ "description": "Guest configuration is an artifact that encapsulates DSC configuration and its dependencies. The artifact is a zip file containing DSC configuration (as MOF) and dependent resources and other dependencies like modules.",
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Kind of the guest configuration. For example:DSC",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ },
+ "enum": [
+ "DSC"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the guest configuration."
+ },
+ "version": {
+ "type": "string",
+ "description": "Version of the guest configuration."
+ },
+ "contentUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Uri of the storage where guest configuration package is uploaded."
+ },
+ "contentHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Combined hash of the guest configuration package and configuration parameters."
+ },
+ "configurationParameter": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationParameter"
+ },
+ "description": "The configuration parameters for the guest configuration."
+ },
+ "configurationSetting": {
+ "$ref": "#/definitions/ConfigurationSetting",
+ "description": "The configuration setting for the guest configuration."
+ }
+ }
+ },
+ "ConfigurationParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the configuration parameter."
+ },
+ "value": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Value of the configuration parameter."
+ }
+ },
+ "description": "Represents a configuration parameter."
+ },
+ "ConfigurationSetting": {
+ "properties": {
+ "configurationMode": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies how the LCM(Local Configuration Manager) actually applies the configuration to the target nodes. Possible values are ApplyOnly, ApplyAndMonitor, and ApplyAndAutoCorrect.",
+ "x-ms-enum": {
+ "name": "configurationMode",
+ "modelAsString": true
+ },
+ "enum": [
+ "ApplyOnly",
+ "ApplyAndMonitor",
+ "ApplyAndAutoCorrect"
+ ]
+ },
+ "allowModuleOverwrite": {
+ "type": "string",
+ "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false",
+ "x-ms-enum": {
+ "name": "allowModuleOverwrite",
+ "modelAsString": true
+ },
+ "enum": [
+ "True",
+ "False"
+ ]
+ },
+ "actionAfterReboot": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies what happens after a reboot during the application of a configuration. The possible values are ContinueConfiguration and StopConfiguration",
+ "x-ms-enum": {
+ "name": "actionAfterReboot",
+ "modelAsString": true
+ },
+ "enum": [
+ "ContinueConfiguration",
+ "StopConfiguration"
+ ]
+ },
+ "refreshFrequencyMins": {
+ "type": "number",
+ "readOnly": true,
+ "default": 30,
+ "description": "The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30."
+ },
+ "rebootIfNeeded": {
+ "type": "string",
+ "readOnly": true,
+ "default": "False",
+ "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module.",
+ "x-ms-enum": {
+ "name": "rebootIfNeeded",
+ "modelAsString": true
+ },
+ "enum": [
+ "True",
+ "False"
+ ]
+ },
+ "configurationModeFrequencyMins": {
+ "type": "number",
+ "readOnly": true,
+ "default": 15,
+ "description": "How often, in minutes, the current configuration is checked and applied. This property is ignored if the ConfigurationMode property is set to ApplyOnly. The default value is 15."
+ }
+ },
+ "description": "Configuration setting of LCM (Local Configuration Manager)."
+ },
+ "GuestConfigurationAssignmentProperties": {
+ "properties": {
+ "guestConfiguration": {
+ "$ref": "#/definitions/GuestConfigurationNavigation",
+ "description": "The guest configuration to assign."
+ },
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the virtual machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "lastComplianceStatusChecked": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Date and time when last compliance status was checked.",
+ "x-nullable": true
+ },
+ "latestReportId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Id of the latest report for the guest configuration assignment. ",
+ "x-nullable": true
+ },
+ "context": {
+ "type": "string",
+ "description": "The source which initiated the guest configuration assignment. Ex: Azure Policy"
+ },
+ "assignmentHash": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Combined hash of the configuration package and parameters.",
+ "x-nullable": true
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response.",
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ },
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Created"
+ ]
+ }
+ },
+ "description": "Guest configuration assignment properties."
+ },
+ "GuestConfigurationAssignmentReportList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReport"
+ },
+ "description": "List of reports for the guest configuration. Report contains information such as compliance status, reason and more."
+ }
+ },
+ "description": "List of guest configuration assignment reports."
+ },
+ "GuestConfigurationAssignmentReport": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ARM resource id of the report for the guest configuration assignment."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group."
+ },
+ "properties": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReportProperties",
+ "description": "Properties of the guest configuration report."
+ }
+ },
+ "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more."
+ },
+ "GuestConfigurationAssignmentReportProperties": {
+ "properties": {
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the virtual machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "reportId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group."
+ },
+ "assignment": {
+ "$ref": "#/definitions/AssignmentInfo",
+ "description": "Configuration details of the guest configuration assignment."
+ },
+ "vm": {
+ "$ref": "#/definitions/VMInfo",
+ "description": "Information about the VM."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start date and time of the guest configuration assignment compliance status check."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End date and time of the guest configuration assignment compliance status check."
+ },
+ "details": {
+ "$ref": "#/definitions/AssignmentReportDetails",
+ "description": "Details of the assignment report.",
+ "x-nullable": true
+ }
+ },
+ "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more."
+ },
+ "AssignmentInfo": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the guest configuration assignment."
+ },
+ "configuration": {
+ "$ref": "#/definitions/ConfigurationInfo",
+ "description": "Information about the configuration."
+ }
+ },
+ "description": "Information about the guest configuration assignment."
+ },
+ "VMInfo": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id of the VM."
+ },
+ "uuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID(Universally Unique Identifier) of the VM."
+ }
+ },
+ "description": "Information about the VM."
+ },
+ "ConfigurationInfo": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the configuration."
+ },
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Version of the configuration."
+ }
+ },
+ "description": "Information about the configuration."
+ },
+ "AssignmentReportDetails": {
+ "properties": {
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the virtual machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start date and time of the guest configuration assignment compliance status check."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End date and time of the guest configuration assignment compliance status check."
+ },
+ "jobId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID of the report."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of report, Consistency or Initial",
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true
+ },
+ "enum": [
+ "Consistency",
+ "Initial"
+ ]
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AssignmentReportResource"
+ },
+ "description": "The list of resources for which guest configuration assignment compliance is checked."
+ }
+ },
+ "description": "Details of the guest configuration assignment report."
+ },
+ "AssignmentReportResource": {
+ "properties": {
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the virtual machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "reasons": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AssignmentReportResourceComplianceReason"
+ },
+ "description": "Compliance reason and reason code for a resource."
+ },
+ "properties": {
+ "type": "object",
+ "readOnly": true,
+ "description": "Properties of a guest configuration assignment resource."
+ }
+ },
+ "description": "The guest configuration assignment resource."
+ },
+ "AssignmentReportResourceComplianceReason": {
+ "properties": {
+ "phrase": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Reason for the compliance of the guest configuration assignment resource."
+ },
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Code for the compliance of the guest configuration assignment resource."
+ }
+ },
+ "description": "Reason and code for the compliance of the guest configuration assignment resource."
+ }
+ },
+"parameters": {}
+}
diff --git a/specification/guestconfiguration/resource-manager/readme.md b/specification/guestconfiguration/resource-manager/readme.md
index f6c920d0d5bb..f3546bd74c41 100644
--- a/specification/guestconfiguration/resource-manager/readme.md
+++ b/specification/guestconfiguration/resource-manager/readme.md
@@ -1,11 +1,13 @@
# Guest Configuration
-
+
> see https://aka.ms/autorest
This is the AutoRest configuration file for Guest Configuration.
---
-## Getting Started
+
+## Getting Started
+
To build the SDK for Guest Configuration, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -13,19 +15,31 @@ To build the SDK for Guest Configuration, simply [Install AutoRest](https://aka.
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-### Basic Information
+### Basic Information
+
These are the global settings for the Guest Configuration API.
``` yaml
title: GuestConfigurationClient
description: Guest Configuration Client
openapi-type: arm
-tag: package-2018-06-30-preview
+tag: package-2018-11-20
```
+
+### Tag: package-2018-11-20
+
+These settings apply only when `--tag=package-2018-11-20` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-11-20'
+input-file:
+ - Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json
+```
+
### Tag: package-2018-06-30-preview
These settings apply only when `--tag=package-2018-06-30-preview` is specified on the command line.
@@ -45,23 +59,44 @@ input-file:
- Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json
```
+
## Suppression
+
``` yaml
directive:
- suppress: UniqueResourcePaths
from: guestconfiguration.json
where: $.paths
- reason: Microsoft.GuestConfiguration is a proxy resource provider under Microsoft. Please refer PR https://github.com/Azure/azure-rest-api-specs-pr/pull/540
+ reason: 'Microsoft.GuestConfiguration is a proxy resource provider under Microsoft. Please refer PR https://github.com/Azure/azure-rest-api-specs-pr/pull/540'
- suppress: OperationsAPIImplementation
from: guestconfiguration.json
where: $.paths
- reason: Microsoft.GuestConfiguration is a proxy resource provider under Microsoft.Compute. However, Operations API for is implemented. So, suppressing the false positive. Please refer PR https://github.com/Azure/azure-rest-api-specs-pr/pull/540
+ reason: 'Microsoft.GuestConfiguration is a proxy resource provider under Microsoft.Compute. However, Operations API for is implemented. So, suppressing the false positive. Please refer PR https://github.com/Azure/azure-rest-api-specs-pr/pull/540'
+ - suppress: OperationsAPIImplementation
+ from: guestconfiguration_NotImplemented.json
+ where: $.paths
+ reason: |-
+ - APIs are approved here https://github.com/Azure/azure-rest-api-specs-pr/pull/540
+ - They were suppressed https://github.com/Azure/azure-rest-api-specs-pr/pull/559
+ - suppress: UniqueResourcePaths
+ from: guestconfiguration_NotImplemented.json
+ where: $.paths
+ reason: |-
+ - APIs are approved here https://github.com/Azure/azure-rest-api-specs-pr/pull/540
+ - They were suppressed https://github.com/Azure/azure-rest-api-specs-pr/pull/559
+ - suppress: TrackedResourceListByImmediateParent
+ from: guestconfiguration_NotImplemented.json
+ where: $.definitions
+ reason: |-
+ - APIs are approved here https://github.com/Azure/azure-rest-api-specs-pr/pull/540
+ - They were suppressed https://github.com/Azure/azure-rest-api-specs-pr/pull/559
```
+
---
-# Code Generation
+# Code Generation
-## C#
+## C#
These settings apply only when `--csharp` is specified on the command line.
Please also specify `--csharp-sdks-folder=`.
@@ -74,4 +109,3 @@ csharp:
output-folder: $(csharp-sdks-folder)/GuestConfiguration/Management.GuestConfiguration/Generated
clear-output-folder: true
```
-
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
index ffa310f7e6a1..be8f99354fff 100644
--- 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
@@ -18,6 +18,8 @@
"properties": {
"hanaInstanceId": "00000000-0000-0000-0000-000000000000",
"powerState": "restarting",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
"hardwareProfile": {
"hardwareType": "Cisco_UCS",
"hanaInstanceSize": "S72"
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
index 11c30cc0a736..834b003b1c27 100644
--- 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
@@ -18,6 +18,8 @@
"properties": {
"hanaInstanceId": "00000000-0000-0000-0000-000000000000",
"powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
"hardwareProfile": {
"hardwareType": "Cisco_UCS",
"hanaInstanceSize": "S72"
@@ -51,6 +53,8 @@
"properties": {
"hanaInstanceId": "00000000-0000-0000-0000-000000000000",
"powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
"hardwareProfile": {
"hardwareType": "HPE",
"hanaInstanceSize": "S384"
@@ -81,6 +85,8 @@
"properties": {
"hanaInstanceId": "00000000-0000-0000-0000-000000000000",
"powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
"hardwareProfile": {
"hardwareType": "HPE",
"hanaInstanceSize": "S960m"
@@ -111,6 +117,8 @@
"properties": {
"hanaInstanceId": "00000000-0000-0000-0000-000000000000",
"powerState": "started",
+ "hwRevision": "Rev 3",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
"hardwareProfile": {
"hardwareType": "Cisco_UCS",
"hanaInstanceSize": "S96"
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
index 816eb6e01f9a..f3499f18bee5 100644
--- 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
@@ -19,6 +19,8 @@
"properties": {
"hanaInstanceId": "00000000-0000-0000-0000-000000000000",
"powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
"hardwareProfile": {
"hardwareType": "Cisco_UCS",
"hanaInstanceSize": "S72"
@@ -52,6 +54,8 @@
"properties": {
"hanaInstanceId": "00000000-0000-0000-0000-000000000000",
"powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
"hardwareProfile": {
"hardwareType": "HPE",
"hanaInstanceSize": "S384"
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_PatchTags.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_PatchTags.json
new file mode 100644
index 000000000000..1d5eba488a65
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_PatchTags.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "hanaInstanceName": "myHanaInstance",
+ "tagsParameter": {
+ "tags": { "testkey": "testvalue"}
+ }
+ },
+ "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": {
+ "testkey": "testvalue"
+ },
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "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_PatchTags_Delete.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_PatchTags_Delete.json
new file mode 100644
index 000000000000..3d529e4cf415
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_PatchTags_Delete.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "hanaInstanceName": "myHanaInstance",
+ "tagsParameter": {
+ "tags": {}
+ }
+ },
+ "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": {},
+ "properties": {
+ "hanaInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "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_Restart.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_Restart.json
index 42409b5119ed..85a7087d0949 100644
--- a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_Restart.json
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2017-11-03-preview/examples/HanaInstances_Restart.json
@@ -6,6 +6,7 @@
"hanaInstanceName": "myHanaInstance"
},
"responses": {
+ "200": {},
"202": {}
}
}
\ 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
index 25528e40009a..f5006c21b871 100644
--- 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
@@ -193,7 +193,54 @@
}
}
}
- }
+ },
+ "patch": {
+ "tags": [
+ "HanaOnAzure"
+ ],
+ "operationId": "HanaInstances_Update",
+ "summary": "Patches the Tags field of a SAP HANA instance.",
+ "description": "Patches the Tags field of a SAP HANA instance for the specified subscription, resource group, and instance name.",
+ "x-ms-examples": {
+ "Update Tags field of a HANA instance": {
+ "$ref": "./examples/HanaInstances_PatchTags.json"
+ },
+ "Delete Tags field of a HANA instance": {
+ "$ref": "./examples/HanaInstances_PatchTags_Delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/HanaInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HanaInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HanaOnAzure/hanaInstances/{hanaInstanceName}/restart": {
"post": {
@@ -201,6 +248,7 @@
"HanaOnAzure"
],
"operationId": "HanaInstances_Restart",
+ "x-ms-long-running-operation": true,
"description": "The operation to restart a SAP HANA instance.",
"x-ms-examples": {
"Restart a HANA instance": {
@@ -228,6 +276,9 @@
}
],
"responses": {
+ "200": {
+ "description": "OK"
+ },
"202": {
"description": "Accepted"
}
@@ -340,6 +391,16 @@
"modelAsString": true
},
"description": "Resource power state"
+ },
+ "proximityPlacementGroup": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource proximity placement group"
+ },
+ "hwRevision": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hardware revision of a HANA instance"
}
},
"description": "Describes the properties of a HANA instance."
@@ -547,6 +608,19 @@
"type": "string"
}
}
+ },
+ "Tags": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags field of the HANA instance."
+ }
+ },
+ "description": "Tags field of the HANA instance."
}
},
"parameters": {
@@ -579,6 +653,16 @@
"required": true,
"type": "string",
"description": "Client API version."
+ },
+ "TagsParameter": {
+ "name": "tagsParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Tags"
+ },
+ "description": "Request body that only contains the new Tags field",
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/job.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/job.json
index 629dddce0765..6af967646105 100644
--- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/job.json
+++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/job.json
@@ -581,6 +581,7 @@
"ACCEPTED",
"RUNNING",
"FINISHED",
+ "FINISHING",
"FAILED",
"KILLED"
],
diff --git a/specification/hdinsight/data-plane/readme.md b/specification/hdinsight/data-plane/readme.md
index ef0ab6d3f261..971c20185c64 100644
--- a/specification/hdinsight/data-plane/readme.md
+++ b/specification/hdinsight/data-plane/readme.md
@@ -65,8 +65,8 @@ Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-02' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-02-01-preview/$(namespace)
+```
diff --git a/specification/imagebuilder/resource-manager/readme.md b/specification/imagebuilder/resource-manager/readme.md
new file mode 100644
index 000000000000..978b85857c1a
--- /dev/null
+++ b/specification/imagebuilder/resource-manager/readme.md
@@ -0,0 +1,128 @@
+# Virtual Machine Image Builder
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Virtual Machine Image Builder.
+
+
+
+---
+## Getting Started
+To build the SDK for Virtual Machine Image Builder, 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 Virtual Machine Image Builder API.
+
+``` yaml
+title: ImageBuilderClient
+description: Azure Virtual Machine Image Builder Client
+openapi-type: arm
+tag: package-2018-02
+azure-arm: true
+```
+
+
+### 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.VirtualMachineImages/preview/2018-02-01-preview/imagebuilder.json
+```
+
+# Code Generation
+
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+```
+
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.imagebuilder
+ package-name: azure-mgmt-imagebuilder
+ 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-imagebuilder/azure/mgmt/imagebuilder
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-imagebuilder
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.imagebuilder
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-imagebuilder
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2018-02
+```
+
+### Tag: package-2018-02 and java
+
+These settings apply only when `--tag=package-2018-02 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-02' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.imagebuilder.v2018_02_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/imagebuilder/resource-manager/v2018_02_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+
diff --git a/specification/imagebuilder/resource-manager/readme.nodejs.md b/specification/imagebuilder/resource-manager/readme.nodejs.md
new file mode 100644
index 000000000000..c406c9f71bb6
--- /dev/null
+++ b/specification/imagebuilder/resource-manager/readme.nodejs.md
@@ -0,0 +1,14 @@
+## Node.js
+
+These settings apply only when `--nodejs` is specified on the command line.
+Please also specify `--node-sdks-folder=`.
+
+``` yaml $(nodejs)
+nodejs:
+ azure-arm: true
+ package-name: azure-arm-imagebuilder
+ output-folder: $(node-sdks-folder)/lib/services/imagebuilderManagement
+ generate-license-txt: true
+ generate-package-json: true
+ generate-readme-md: true
+```
diff --git a/specification/imagebuilder/resource-manager/readme.typescript.md b/specification/imagebuilder/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..934968e2480d
--- /dev/null
+++ b/specification/imagebuilder/resource-manager/readme.typescript.md
@@ -0,0 +1,12 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-imagebuilder"
+ output-folder: "$(typescript-sdks-folder)/packages/@azure/arm-imagebuilder"
+ generate-metadata: true
+```
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getAttestedData.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getAttestedData.json
new file mode 100644
index 000000000000..f263d37ed78f
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getAttestedData.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "nonce": "abcde12345",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "encoding": "pkcs7",
+ "signature": "MIID2gYJKoZIhvcNAQcCoIIDyzCCA8cCAQExDzANBgkqhkiG9w0BAQsFADCBggYJKoZIhvcNAQcBoHUEc3sibm9uY2UiOiIxMTExMTExMTExIiwicGxhbiI6eyJuYW1lIjoiIiwicHJvZHVjdCI6IiIsInB1Ymxpc2hlciI6IiJ9LCJ2bUlkIjoiMDJhYWI4YTQtNzRlZi00NzZlLTgxODItZjZkMmJhNDE2NmE2In2gggI/MIICOzCCAaSgAwIBAgIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQQFADArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbTAeFw0xODExMDgxODUzMDRaFw0xODEyMDgxODUzMDNaMCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEi0FVslYnUX+MneC7ERMU4ZM88z4J80r7RPgvzxCPNhXUQlWm3cmVRZMD8kKMv7brkvEsATP7Ak60/I/XEtOga4LGCvMaQa8I/MW8IhSyp2Vj015glAiV8TeUI5DuOIOS96lQvM+G7bt23swkIwVjm1u1ViTZiKKytwpY/EGqzQIDAQABo2AwXjBcBgNVHQEEVTBTgBAt3MRgJmEoUMiPy7k06cLfoS0wKzEpMCcGA1UEAxMgdGVzdHN1YmRvbWFpbi5tZXRhZGF0YS5henVyZS5jb22CEEFrBY1zd+aASShVyN0KzN0wDQYJKoZIhvcNAQEEBQADgYEAd87qiZnRlGIFQ5IEcL/A7ru23WSQAOBsNPt70Fg1GtaEHcYshKUJFhGwXOgZ11cY5wRfrSvEKuzvhAeIZwkvzkBjC04g8sRrjN5leLY5CsKzQhjN52TUMsHhqTM58tfAnICeTddQwn6LOgfqtYH5WO+F/VbFCwPstYUqjmQEYAoxgegwgeUCAQEwPzArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbQIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQsFADANBgkqhkiG9w0BAQEFAASBgCbkRKmQ1MdWZPVOrX7ZBKHQUWPFrQQNdjk3KB67GkY0W0Taxut4K7D2PmiflVEwxB92pTbaZZr/dldu1k1ab1YamHcVYdgZgxIkoOWohGR0ym8oL9JHjFMEqHUbEPtDwE8X+djtDd8TVdb6LYe77IXmz/VaX4whuejlSvQXjaL"
+ }
+ },
+ "400": {
+ "body": {
+ "error": "Bad request"
+ }
+ },
+ "403": {
+ "body": {
+ "error": "Forbidden"
+ }
+ },
+ "404": {
+ "body": {
+ "error": "Not found"
+ }
+ },
+ "405": {
+ "body": {
+ "error": "Not allowed"
+ }
+ },
+ "429": {
+ "body": {
+ "error": "Too many requests"
+ }
+ },
+ "503": {
+ "body": {
+ "error": "Service unavailable"
+ }
+ },
+ "500": {
+ "body": {
+ "error": "Server error"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getIdentityInfo.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getIdentityInfo.json
new file mode 100644
index 000000000000..e0857d0bceb9
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getIdentityInfo.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "tenantId": "abd8daee-d393-4239-9377-883adda3d40f"
+ }
+ },
+ "400": {
+ "body": {
+ "error": "invalid_request",
+ "error_description": "Bad request"
+ }
+ },
+ "404": {
+ "body": {
+ "error": "not_found",
+ "error_description": "Not found"
+ }
+ },
+ "405": {
+ "body": {
+ "error": "method_not_allowed",
+ "error_description": "Not allowed"
+ }
+ },
+ "429": {
+ "body": {
+ "error": "too_many_requests",
+ "error_description": "Too many requests"
+ }
+ },
+ "500": {
+ "body": {
+ "error": "server_error",
+ "error_description": "Server error"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getIdentityToken.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getIdentityToken.json
new file mode 100644
index 000000000000..0cf1fd061608
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getIdentityToken.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "Metadata": "true",
+ "resource": "https://vault.azure.net"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "access_token": "dummytoken",
+ "client_id": "be5947ed-3560-4afe-9504-59967a63f810",
+ "expires_in": "3599",
+ "expires_on": "1541705014",
+ "ext_expires_in": "262800",
+ "not_before": "1508961830",
+ "resource": "https://va"
+ }
+ },
+ "400": {
+ "body": {
+ "error": "invalid_request",
+ "error_description": "Bad request"
+ }
+ },
+ "404": {
+ "body": {
+ "error": "not_found",
+ "error_description": "Not found"
+ }
+ },
+ "405": {
+ "body": {
+ "error": "method_not_allowed",
+ "error_description": "Not allowed"
+ }
+ },
+ "429": {
+ "body": {
+ "error": "too_many_requests",
+ "error_description": "Too many requests"
+ }
+ },
+ "500": {
+ "body": {
+ "error": "server_error",
+ "error_description": "Server error"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getInstanceMetadata.json
new file mode 100644
index 000000000000..c5f5cb36b8f3
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/examples/getInstanceMetadata.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2018-10-01",
+ "Metadata": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "compute": {
+ "azEnvironment": "AZUREPUBLICCLOUD",
+ "location": "westus",
+ "name": "examplevmname",
+ "offer": "Windows",
+ "osType": "linux",
+ "placementGroupId": "f67c14ab-e92c-408c-ae2d-da15866ec79a",
+ "plan": {
+ "name": "planName",
+ "product": "planProduct",
+ "publisher": "planPublisher"
+ },
+ "platformFaultDomain": "36",
+ "platformUpdateDomain": "42",
+ "publicKeys": [
+ {
+ "keyData": "ssh-rsa 0",
+ "path": "/home/user/.ssh/authorized_keys0"
+ },
+ {
+ "keyData": "ssh-rsa 1",
+ "path": "/home/user/.ssh/authorized_keys1"
+ }
+ ],
+ "publisher": "RDFE-Test-Microsoft-Windows-Server-Group",
+ "resourceGroupName": "macikgo-test-may-23",
+ "sku": "Windows-Server-2012-R2-Datacenter",
+ "subscriptionId": "8d10da13-8125-4ba9-a717-bf7490507b3d",
+ "tags": "baz:bash;foo:bar",
+ "version": "15.05.22",
+ "vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6",
+ "vmScaleSetName": "crpteste9vflji9",
+ "vmSize": "Standard_A3",
+ "zone": ""
+ }
+ }
+ },
+ "400": {
+ "body": {
+ "error": "Bad request"
+ }
+ },
+ "403": {
+ "body": {
+ "error": "Forbidden"
+ }
+ },
+ "404": {
+ "body": {
+ "error": "Not found"
+ }
+ },
+ "405": {
+ "body": {
+ "error": "Not allowed"
+ }
+ },
+ "429": {
+ "body": {
+ "error": "Too many requests"
+ }
+ },
+ "503": {
+ "body": {
+ "error": "Service unavailable"
+ }
+ },
+ "500": {
+ "body": {
+ "error": "Server error"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/imds.json
new file mode 100644
index 000000000000..4397970949a1
--- /dev/null
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-10-01/imds.json
@@ -0,0 +1,765 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "InstanceMetadataClient",
+ "description": "The Azure Instance Metadata Client",
+ "version": "2018-10-01"
+ },
+ "host": "169.254.169.254",
+ "basePath": "/metadata",
+ "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": {
+ "/instance": {
+ "get": {
+ "operationId": "Instances_GetMetadata",
+ "description": "Get Instance Metadata for the Virtual Machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Instance"
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "404": {
+ "description": "Not found",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "405": {
+ "description": "Method not allowed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "500": {
+ "description": "Server error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Instance Metadata for the VM": {
+ "$ref": "./examples/getInstanceMetadata.json"
+ }
+ }
+ }
+ },
+ "/attested/document": {
+ "get": {
+ "operationId": "Attested_GetDocument",
+ "description": "Get Attested Data for the Virtual Machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "This is a string of up to 32 random alphanumeric characters."
+ },
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AttestedData"
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "404": {
+ "description": "Not found",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "405": {
+ "description": "Method not allowed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "503": {
+ "description": "Service unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "500": {
+ "description": "Server error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Attested Data for the VM": {
+ "$ref": "./examples/getAttestedData.json"
+ }
+ }
+ }
+ },
+ "/identity/oauth2/token": {
+ "get": {
+ "tags": [
+ "Get token"
+ ],
+ "description": "Get a Token from Azure AD",
+ "operationId": "Identity_GetToken",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ },
+ {
+ "name": "resource",
+ "in": "query",
+ "type": "string",
+ "description": "This is the urlencoded identifier URI of the sink resource for the requested Azure AD token. The resulting token contains the corresponding aud for this resource.",
+ "required": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "client_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by Azure AD client id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with object_id and msi_res_id.",
+ "required": false
+ },
+ {
+ "name": "object_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by Azure AD object id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and msi_res_id.",
+ "required": false
+ },
+ {
+ "name": "msi_res_id",
+ "in": "query",
+ "type": "string",
+ "description": "This identifies, by urlencoded ARM resource id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and object_id.",
+ "required": false
+ },
+ {
+ "name": "authority",
+ "in": "query",
+ "type": "string",
+ "description": "This indicates the authority to request AAD tokens from. Defaults to the known authority of the identity to be used.",
+ "required": false
+ },
+ {
+ "name": "bypass_cache",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "description": "If provided, the value must be 'true'. This indicates to the server that the token must be retrieved from Azure AD and cannot be retrieved from an internal cache.",
+ "required": false,
+ "x-ms-enum": {
+ "name": "BypassCache",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "schema": {
+ "$ref": "#/definitions/IdentityTokenResponse"
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "404": {
+ "description": "Not found",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "405": {
+ "description": "Method not allowed",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "500": {
+ "description": "Server error",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Identity Token for the VM": {
+ "$ref": "./examples/getIdentityToken.json"
+ }
+ }
+ }
+ },
+ "/identity/info": {
+ "get": {
+ "tags": [
+ "Get metadata information"
+ ],
+ "description": "Get information about AAD Metadata",
+ "operationId": "Identity_GetInfo",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/MetadataParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation",
+ "schema": {
+ "$ref": "#/definitions/IdentityInfoResponse"
+ }
+ },
+ "400": {
+ "description": "Invalid request",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "404": {
+ "description": "Not found",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "405": {
+ "description": "Method not allowed",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "500": {
+ "description": "Server error",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/IdentityErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Identity Info for the VM": {
+ "$ref": "./examples/getIdentityInfo.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Compute": {
+ "type": "object",
+ "properties": {
+ "azEnvironment": {
+ "type": "string",
+ "description": "This is the name of the environment in which the VM is running."
+ },
+ "location": {
+ "type": "string",
+ "description": "This is the Azure Region in which the VM is running."
+ },
+ "name": {
+ "type": "string",
+ "description": "This is the name of the VM."
+ },
+ "offer": {
+ "type": "string",
+ "description": "This is the offer information for the VM image. This value is only present for images deployed from the Azure Image Gallery."
+ },
+ "osType": {
+ "type": "string",
+ "description": "This value indicates the type of OS the VM is running, either Linux or Windows."
+ },
+ "placementGroupId": {
+ "type": "string",
+ "description": "This is the placement group of your Virtual Machine Scale Set."
+ },
+ "plan": {
+ "type": "object",
+ "description": "This contains the data about the plan.",
+ "$ref": "#/definitions/PlanProperties"
+ },
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicKeysProperties"
+ },
+ "description": "This is information about the SSH certificate"
+ },
+ "platformFaultDomain": {
+ "type": "string",
+ "description": "This is the fault domain in which the VM."
+ },
+ "platformUpdateDomain": {
+ "type": "string",
+ "description": "This is the update domain in which the VM."
+ },
+ "provider": {
+ "type": "string",
+ "description": "This is the provider of the VM."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the publisher of the VM image."
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "This is the resource group for the VM."
+ },
+ "sku": {
+ "type": "string",
+ "description": "This is the specific SKU for the VM image."
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "This is the Azure subscription for the VM."
+ },
+ "tags": {
+ "type": "string",
+ "description": "This is the list of tags for your VM."
+ },
+ "version": {
+ "type": "string",
+ "description": "This is the version of the VM image."
+ },
+ "vmId": {
+ "type": "string",
+ "description": "This is the unique identifier for the VM."
+ },
+ "vmScaleSetName": {
+ "type": "string",
+ "description": "This is the resource name of the VMSS."
+ },
+ "vmSize": {
+ "type": "string",
+ "description": "This is the size of the VM."
+ },
+ "zone": {
+ "type":"string",
+ "description":"This is the availability zone of the VM."
+ }
+ },
+ "description": "Compute Metadata"
+ },
+ "Network": {
+ "type": "object",
+ "properties": {
+ "interface": {
+ "type":"array",
+ "description": "This contains data about the network interface.",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ },
+ "description": "Network Metadata"
+ },
+ "NetworkInterface": {
+ "type": "object",
+ "description": "This contains data about the network interface.",
+ "properties": {
+ "ipv4": {
+ "type":"object",
+ "description": "This contains the IPv4 address.",
+ "properties": {
+ "ipAddress": {
+ "type":"array",
+ "description": "This is the IP address",
+ "items": {
+ "type": "object",
+ "description": "This contains the IPv4 properties.",
+ "$ref":"#/definitions/Ipv4Properties"
+ }
+ },
+ "subnet": {
+ "type":"array",
+ "description": "This is the subnet",
+ "items": {
+ "type": "object",
+ "description": "This contains the subnet properties.",
+ "$ref": "#/definitions/SubnetProperties"
+ }
+ }
+ }
+ },
+ "ipv6": {
+ "type":"object",
+ "description": "This contains the IPv6 address.",
+ "properties": {
+ "ipAddress": {
+ "type":"array",
+ "description": "This is the IP address",
+ "items": {
+ "type": "object",
+ "description": "This contains the IPv6 properties.",
+ "$ref":"#/definitions/Ipv6Properties"
+ }
+ }
+ }
+ },
+ "macAddress": {
+ "type":"string",
+ "description":"This is the MAC address of the interface."
+ }
+ }
+ },
+ "PlanProperties": {
+ "type": "object",
+ "description": "This contains the data about the plan.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "This is the Plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "This is the publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "This is the product of the image from the Marketplace."
+ }
+ }
+ },
+ "PublicKeysProperties": {
+ "type": "object",
+ "description": "This contains the data about the public key.",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "This specifies the full path on the VM where the SSH public key is stored."
+ },
+ "keyData": {
+ "type": "string",
+ "description": "This is the SSH public key certificate used to authenticate with the VM."
+ }
+ }
+ },
+ "Ipv4Properties": {
+ "type": "object",
+ "description": "This contains the IPv4 properties.",
+ "properties": {
+ "privateIpAddress": {
+ "type":"string",
+ "description":"This is the private IP address assigned to the interface."
+ },
+ "publicIpAddress": {
+ "type":"string",
+ "description":"This is the public IP address assigned to the interface."
+ }
+ }
+ },
+ "Ipv6Properties": {
+ "type": "object",
+ "description": "This contains the IPv6 properties.",
+ "properties": {
+ "privateIpAddress": {
+ "type":"string",
+ "description":"This is the private IPv6 address assigned to the interface."
+ }
+ }
+ },
+ "SubnetProperties": {
+ "type": "object",
+ "description": "This contains the properties of the subnet.",
+ "properties": {
+ "address": {
+ "type":"string",
+ "description":"This is the address range of the subnet."
+ },
+ "prefix": {
+ "type":"string",
+ "description":"This is the prefix of the subnet."
+ }
+ }
+ },
+ "Instance": {
+ "type": "object",
+ "description": "This is the response from the Instance_GetMetadata operation.",
+ "properties": {
+ "compute": {
+ "$ref": "#/definitions/Compute",
+ "description": "Compute Metadata"
+ },
+ "network": {
+ "$ref": "#/definitions/Network",
+ "description": "Network Metadata"
+ }
+ }
+ },
+ "AttestedData": {
+ "type": "object",
+ "description": "This is the response from the Attested_GetDocument operation.",
+ "properties": {
+ "signature": {
+ "type": "string",
+ "description": "This is the encoded string containing the VM ID, plan information, public key, timestamp, and nonce value."
+ },
+ "encoding": {
+ "type": "string",
+ "description": "This is the encoding scheme of the signature."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "This is the response from an operation in the case an error occurs.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ },
+ "IdentityErrorResponse": {
+ "type": "object",
+ "description": "This is the response from an Identity operation in the case an error occurs.",
+ "properties": {
+ "error": {
+ "type": "string",
+ "description": "Error code",
+ "enum": [
+ "invalid_request",
+ "unauthorized_client",
+ "access_denied",
+ "unsupported_response_type",
+ "invalid_scope",
+ "server_error",
+ "service_unavailable",
+ "bad_request",
+ "forbidden",
+ "not_found",
+ "method_not_allowed",
+ "too_many_requests"
+ ],
+ "x-ms-enum": {
+ "name": "Error",
+ "modelAsString": true
+ }
+ },
+ "error_description": {
+ "type": "string",
+ "description": "Error message indicating why the operation failed."
+ }
+ }
+ },
+ "IdentityTokenResponse": {
+ "type": "object",
+ "description": "This is the response from the Identity_GetToken operation.",
+ "properties": {
+ "access_token": {
+ "type": "string",
+ "description": "This is the requested access token. The app can use this token to authenticate to the sink resource."
+ },
+ "expires_in": {
+ "type": "string",
+ "description": "This is how long the access token is valid (in seconds)."
+ },
+ "expires_on": {
+ "type": "string",
+ "description": "This is the time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. This value is used to determine the lifetime of cached tokens."
+ },
+ "ext_expires_in": {
+ "type": "string",
+ "description": "This indicates the extended lifetime of the token."
+ },
+ "not_before": {
+ "type": "string",
+ "description": "This is the time when the access token becomes effective. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time."
+ },
+ "resource": {
+ "type": "string",
+ "description": "This is the app ID URI of the sink resource."
+ },
+ "token_type": {
+ "type": "string",
+ "description": "This indicates the token type value."
+ },
+ "client_id": {
+ "type": "string",
+ "description": "This is the client_id specified in the request, if any."
+ },
+ "object_id": {
+ "type": "string",
+ "description": "This is the object_id specified in the request, if any."
+ },
+ "msi_res_id": {
+ "type": "string",
+ "description": "This is the msi_res_id specified in the request, if any."
+ }
+ }
+ },
+ "IdentityInfoResponse": {
+ "type": "object",
+ "description": "This is the response from the Identity_GetInfo operation.",
+ "properties": {
+ "tenantId": {
+ "type": "string",
+ "description": "This is the AAD tenantId of the identity of the caller."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "2018-10-01"
+ ],
+ "description": "This is the API version to use.",
+ "required": true,
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ }
+ },
+ "MetadataParameter": {
+ "name": "Metadata",
+ "in": "header",
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "description": "This must be set to 'true'.",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/imds/data-plane/readme.csharp.md b/specification/imds/data-plane/readme.csharp.md
new file mode 100644
index 000000000000..20481e7f6788
--- /dev/null
+++ b/specification/imds/data-plane/readme.csharp.md
@@ -0,0 +1,20 @@
+# C# Storage
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for IMDS.
+
+## Common C# Settings
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ clear-output-folder: true
+```
+
+``` yaml $(csharp) && !$(multiapi) && !$(profile)
+payload-flattening-threshold: 2
+namespace: Microsoft.Azure.InstanceMetadataService
+output-folder: $(csharp-sdks-folder)/Azure/InstanceMetadataService/Generated
+```
diff --git a/specification/imds/data-plane/readme.go.md b/specification/imds/data-plane/readme.go.md
new file mode 100644
index 000000000000..a805b79cf2ba
--- /dev/null
+++ b/specification/imds/data-plane/readme.go.md
@@ -0,0 +1,10 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: storage
+ clear-output-folder: true
+```
diff --git a/specification/imds/data-plane/readme.md b/specification/imds/data-plane/readme.md
new file mode 100644
index 000000000000..246faba00e21
--- /dev/null
+++ b/specification/imds/data-plane/readme.md
@@ -0,0 +1,73 @@
+# Instance Metadata Service
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Instance Metadata Service.
+
+## Getting Started
+To build the SDKs for Instance Metadata Service, simply install AutoRest via `npm` (`npm install -g autorest`) and then run:
+> `autorest readme.md`
+
+To see additional help and options, run:
+> `autorest --help`
+
+For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page.
+
+---
+
+## Configuration
+
+### Basic Information
+These are the global settings for the Instance Metadata Service API.
+
+``` yaml
+openapi-type: data-plane
+azure-arm: true
+tag: package-2018-05
+input-file:
+- Microsoft.InstanceMetadataService/stable/2018-10-01/imds.json
+output-folder: ./Generated
+```
+
+## Suppression
+ ``` yaml
+ directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ reason: The following properties follow the Oath2 spec, which does not use camelCase.
+ from: Microsoft.InstanceMetadataService/stable/2018-10-01/imds.json
+ where:
+ - $.definitions.IdentityTokenResponse.properties.access_token
+ - $.definitions.IdentityTokenResponse.properties.expires_in
+ - $.definitions.IdentityTokenResponse.properties.expires_on
+ - $.definitions.IdentityTokenResponse.properties.ext_expires_in
+ - $.definitions.IdentityTokenResponse.properties.not_before
+ - $.definitions.IdentityTokenResponse.properties.resource
+ - $.definitions.IdentityTokenResponse.properties.token_type
+ - $.definitions.IdentityTokenResponse.properties.client_id
+ - $.definitions.IdentityTokenResponse.properties.object_id
+ - $.definitions.IdentityTokenResponse.properties.msi_res_id
+ - $.definitions.IdentityErrorResponse.properties.error_description
+ ```
+
+---
+# Code Generation
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ output-folder: ./Generated
+ clear-output-folder: true
+```
+
+## 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
+```
diff --git a/specification/imds/data-plane/readme.nodejs.md b/specification/imds/data-plane/readme.nodejs.md
new file mode 100644
index 000000000000..744df7b8af95
--- /dev/null
+++ b/specification/imds/data-plane/readme.nodejs.md
@@ -0,0 +1,16 @@
+## Node.js
+
+These settings apply only when `--nodejs` is specified on the command line.
+Please also specify `--node-sdks-folder=`.
+
+``` yaml $(nodejs)
+nodejs:
+ azure-arm: true
+ package-name: azure-imds
+ output-folder: $(node-sdks-folder)/lib/services/imds
+ payload-flattening-threshold: 2
+ override-client-name: IMDSClient
+ generate-license-txt: true
+ generate-package-json: true
+ generate-readme-md: false
+```
diff --git a/specification/imds/data-plane/readme.python.md b/specification/imds/data-plane/readme.python.md
new file mode 100644
index 000000000000..daf2ae712b71
--- /dev/null
+++ b/specification/imds/data-plane/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.imds
+ package-name: azure-imds
+ 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-imds/azure/imds
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-imds
+```
\ No newline at end of file
diff --git a/specification/imds/data-plane/readme.ruby.md b/specification/imds/data-plane/readme.ruby.md
new file mode 100644
index 000000000000..ef7d2c898277
--- /dev/null
+++ b/specification/imds/data-plane/readme.ruby.md
@@ -0,0 +1,10 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+``` yaml
+package-name: azure_imds
+package-version: "0.16.3"
+azure-arm: true
+```
+
diff --git a/specification/imds/data-plane/readme.typescript.md b/specification/imds/data-plane/readme.typescript.md
new file mode 100644
index 000000000000..cd79798fce9c
--- /dev/null
+++ b/specification/imds/data-plane/readme.typescript.md
@@ -0,0 +1,14 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/imds"
+ output-folder: "$(typescript-sdks-folder)/packages/@azure/imds"
+ payload-flattening-threshold: 2
+ override-client-name: IMDSClient
+ generate-metadata: true
+```
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2018-12-01-preview/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2018-12-01-preview/iothub.json
index 2d625f517795..e78b09697e1b 100644
--- a/specification/iothub/resource-manager/Microsoft.Devices/preview/2018-12-01-preview/iothub.json
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2018-12-01-preview/iothub.json
@@ -511,7 +511,7 @@
],
"responses": {
"200": {
- "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the the Event Hub-compatible endpoint in this IoT hub",
+ "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub",
"schema": {
"$ref": "#/definitions/EventHubConsumerGroupsListResult"
}
@@ -1910,7 +1910,7 @@
"readOnly": true
},
"state": {
- "description": "Thehub state state.",
+ "description": "The hub state.",
"type": "string",
"readOnly": true
},
@@ -2068,7 +2068,7 @@
"type": "object",
"properties": {
"sasTtlAsIso8601": {
- "description": "The period of time for which the the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.",
+ "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.",
"type": "string",
"format": "duration"
},
@@ -2386,8 +2386,13 @@
"minimum": 10485760
},
"encoding": {
- "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro' and 'avrodeflate'. Default value is 'avro'.",
- "type": "string"
+ "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.",
+ "type": "string",
+ "enum": [
+ "Avro",
+ "AvroDeflate",
+ "JSON"
+ ]
}
},
"required": [
@@ -2693,7 +2698,7 @@
"type": "string"
},
"healthStatus": {
- "description": "Health status",
+ "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint",
"enum": [
"unknown",
"healthy",
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2018-04-01/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2018-04-01/iothub.json
index ed9e7bc1b5d5..439527990cf7 100644
--- a/specification/iothub/resource-manager/Microsoft.Devices/stable/2018-04-01/iothub.json
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2018-04-01/iothub.json
@@ -2675,7 +2675,7 @@
"type": "string"
},
"healthStatus": {
- "description": "Health status",
+ "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint",
"enum": [
"unknown",
"healthy",
diff --git a/specification/iothub/resource-manager/readme.go.md b/specification/iothub/resource-manager/readme.go.md
index 843e1a155609..031dd62c43f0 100644
--- a/specification/iothub/resource-manager/readme.go.md
+++ b/specification/iothub/resource-manager/readme.go.md
@@ -13,12 +13,22 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2018-12-preview
- tag: package-2018-04
- tag: package-2018-01
- tag: package-2017-07
- tag: package-2017-01
- tag: package-2016-02
```
+### Tag: package-2018-12-preview and go
+
+These settings apply only when `--tag=package-2018-12-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-12-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/iothub/mgmt/2018-12-01-preview/$(namespace)
+```
+
### Tag: package-2018-04 and go
These settings apply only when `--tag=package-2018-04 --go` is specified on the command line.
@@ -62,4 +72,4 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-12-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.iothub.v2018_12_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/iothub/resource-manager/v2018_12_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2018-04 and java
These settings apply only when `--tag=package-2018-04 --java` is specified on the command line.
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 b79c8fa319b0..71fb96d2c7f6 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
@@ -849,7 +849,7 @@
"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."
+ "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. When `createMode` is set to `recover`, access policies are not required. Otherwise, access policies are required."
},
"vaultUri": {
"type": "string",
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2018-02-14/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2018-02-14/keyvault.json
index 1b6ddabcaaec..b1676f3d6639 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2018-02-14/keyvault.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2018-02-14/keyvault.json
@@ -855,7 +855,7 @@
"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."
+ "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. When `createMode` is set to `recover`, access policies are not required. Otherwise, access policies are required."
},
"vaultUri": {
"type": "string",
diff --git a/specification/keyvault/resource-manager/readme.typescript.md b/specification/keyvault/resource-manager/readme.typescript.md
index 0901e4b7bd5e..c328b0fa8053 100644
--- a/specification/keyvault/resource-manager/readme.typescript.md
+++ b/specification/keyvault/resource-manager/readme.typescript.md
@@ -9,5 +9,6 @@ typescript:
package-name: "@azure/arm-keyvault"
output-folder: "$(typescript-sdks-folder)/packages/@azure/arm-keyvault"
generate-metadata: true
- generate-readme-md: false
+ generate-readme-md: true
+ auto-publish: true
```
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2018-10-15/ML.json b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2018-10-15/ML.json
index 1ad5db20bab3..6b2ba7663f13 100644
--- a/specification/labservices/resource-manager/Microsoft.LabServices/stable/2018-10-15/ML.json
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/stable/2018-10-15/ML.json
@@ -3439,7 +3439,7 @@
"type": "object",
"properties": {
"environments": {
- "description": "List of all the evironments",
+ "description": "List of all the environments",
"type": "array",
"items": { "$ref": "#/definitions/EnvironmentDetails" }
}
diff --git a/specification/logic/resource-manager/Microsoft.Logic/preview/2015-08-01-preview/logic.json b/specification/logic/resource-manager/Microsoft.Logic/preview/2015-08-01-preview/logic.json
index 815f043f5b86..5e7722b0701c 100644
--- a/specification/logic/resource-manager/Microsoft.Logic/preview/2015-08-01-preview/logic.json
+++ b/specification/logic/resource-manager/Microsoft.Logic/preview/2015-08-01-preview/logic.json
@@ -1727,7 +1727,7 @@
"$ref": "#/definitions/IntegrationAccountResource"
}
]
- },
+ },
"IntegrationAccountPartnerProperties": {
"type": "object",
"properties": {
@@ -2849,7 +2849,7 @@
"name": "HashingAlgorithm",
"modelAsString": false
}
- },
+ },
"EncryptionAlgorithm": {
"type": "string",
"enum": [
@@ -3488,7 +3488,7 @@
},
"messageRelease": {
"type": "string",
- "description": "The message releaseversion."
+ "description": "The message release version."
},
"dataElementSeparator": {
"type": "integer",
diff --git a/specification/logic/resource-manager/Microsoft.Logic/preview/2018-07-01-preview/logic.json b/specification/logic/resource-manager/Microsoft.Logic/preview/2018-07-01-preview/logic.json
index bbd8edc6bc61..8ed24880fc15 100644
--- a/specification/logic/resource-manager/Microsoft.Logic/preview/2018-07-01-preview/logic.json
+++ b/specification/logic/resource-manager/Microsoft.Logic/preview/2018-07-01-preview/logic.json
@@ -7142,23 +7142,23 @@
"AS2MdnSettings": {
"type": "object",
"required": [
- "needMdn",
- "signMdn",
- "sendMdnAsynchronously",
- "signOutboundMdnIfOptional",
- "sendInboundMdnToMessageBox",
+ "needMDN",
+ "signMDN",
+ "sendMDNAsynchronously",
+ "signOutboundMDNIfOptional",
+ "sendInboundMDNToMessageBox",
"micHashingAlgorithm"
],
"properties": {
- "needMdn": {
+ "needMDN": {
"type": "boolean",
"description": "The value indicating whether to send or request a MDN."
},
- "signMdn": {
+ "signMDN": {
"type": "boolean",
"description": "The value indicating whether the MDN needs to be signed or not."
},
- "sendMdnAsynchronously": {
+ "sendMDNAsynchronously": {
"type": "boolean",
"description": "The value indicating whether to send the asynchronous MDN."
},
@@ -7170,7 +7170,7 @@
"type": "string",
"description": "The disposition notification to header value."
},
- "signOutboundMdnIfOptional": {
+ "signOutboundMDNIfOptional": {
"type": "boolean",
"description": "The value indicating whether to sign the outbound MDN if optional."
},
@@ -7178,7 +7178,7 @@
"type": "string",
"description": "The MDN text."
},
- "sendInboundMdnToMessageBox": {
+ "sendInboundMDNToMessageBox": {
"type": "boolean",
"description": "The value indicating whether to send inbound MDN to message box."
},
@@ -7193,12 +7193,12 @@
"type": "object",
"required": [
"overrideGroupSigningCertificate",
- "enableNrrForInboundEncodedMessages",
- "enableNrrForInboundDecodedMessages",
- "enableNrrForOutboundMdn",
- "enableNrrForOutboundEncodedMessages",
- "enableNrrForOutboundDecodedMessages",
- "enableNrrForInboundMdn"
+ "enableNRRForInboundEncodedMessages",
+ "enableNRRForInboundDecodedMessages",
+ "enableNRRForOutboundMDN",
+ "enableNRRForOutboundEncodedMessages",
+ "enableNRRForOutboundDecodedMessages",
+ "enableNRRForInboundMDN"
],
"properties": {
"overrideGroupSigningCertificate": {
@@ -7213,27 +7213,27 @@
"type": "string",
"description": "The name of the encryption certificate."
},
- "enableNrrForInboundEncodedMessages": {
+ "enableNRRForInboundEncodedMessages": {
"type": "boolean",
"description": "The value indicating whether to enable NRR for inbound encoded messages."
},
- "enableNrrForInboundDecodedMessages": {
+ "enableNRRForInboundDecodedMessages": {
"type": "boolean",
"description": "The value indicating whether to enable NRR for inbound decoded messages."
},
- "enableNrrForOutboundMdn": {
+ "enableNRRForOutboundMDN": {
"type": "boolean",
"description": "The value indicating whether to enable NRR for outbound MDN."
},
- "enableNrrForOutboundEncodedMessages": {
+ "enableNRRForOutboundEncodedMessages": {
"type": "boolean",
"description": "The value indicating whether to enable NRR for outbound encoded messages."
},
- "enableNrrForOutboundDecodedMessages": {
+ "enableNRRForOutboundDecodedMessages": {
"type": "boolean",
"description": "The value indicating whether to enable NRR for outbound decoded messages."
},
- "enableNrrForInboundMdn": {
+ "enableNRRForInboundMDN": {
"type": "boolean",
"description": "The value indicating whether to enable NRR for inbound MDN."
},
@@ -7339,14 +7339,14 @@
"type": "object",
"required": [
"suspendDuplicateMessage",
- "resendIfMdnNotReceived"
+ "resendIfMDNNotReceived"
],
"properties": {
"suspendDuplicateMessage": {
"type": "boolean",
"description": "The value indicating whether to suspend duplicate message."
},
- "resendIfMdnNotReceived": {
+ "resendIfMDNNotReceived": {
"type": "boolean",
"description": "The value indicating whether to resend message If MDN is not received."
}
diff --git a/specification/logic/resource-manager/readme.md b/specification/logic/resource-manager/readme.md
index a054d77930f1..0a974ecfebaa 100644
--- a/specification/logic/resource-manager/readme.md
+++ b/specification/logic/resource-manager/readme.md
@@ -55,6 +55,18 @@ directive:
- suppress: R3016
reason: Existing properties, can't be changed without breaking API.
#where:
+ # - $.definitions.AS2ErrorSettings.properties.resendIfMDNNotReceived
+ # - $.definitions.AS2MdnSettings.properties.needMDN
+ # - $.definitions.AS2MdnSettings.properties.signMDN
+ # - $.definitions.AS2MdnSettings.properties.sendMDNAsynchronously
+ # - $.definitions.AS2MdnSettings.properties.signOutboundMDNIfOptional
+ # - $.definitions.AS2MdnSettings.properties.sendInboundMDNToMessageBox
+ # - $.definitions.AS2SecuritySettings.properties.enableNRRForInboundEncodedMessages
+ # - $.definitions.AS2SecuritySettings.properties.enableNRRForInboundDecodedMessages
+ # - $.definitions.AS2SecuritySettings.properties.enableNRRForOutboundMDN
+ # - $.definitions.AS2SecuritySettings.properties.enableNRRForOutboundEncodedMessages
+ # - $.definitions.AS2SecuritySettings.properties.enableNRRForOutboundDecodedMessages
+ # - $.definitions.AS2SecuritySettings.properties.enableNRRForInboundMDN
# - $.definitions.EdifactValidationSettings.properties.validateEDITypes
# - $.definitions.EdifactValidationSettings.properties.validateXSDTypes
# - $.definitions.EdifactValidationOverride.properties.validateEDITypes
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 0ee4e7187d89..5bedfd0262ad 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,31 @@
"application/json"
],
"paths": {
+ "/providers/Microsoft.MachineLearning/operations": {
+ "get": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Lists all of the available Azure Machine Learning Studio Commitment Plan RP REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/APIVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearning/skus": {
"get": {
"tags": [
@@ -949,6 +974,61 @@
"description": "The date of usage, in ISO 8601 format."
}
}
+ },
+ "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": {
diff --git a/specification/machinelearning/resource-manager/readme.md b/specification/machinelearning/resource-manager/readme.md
index 4db6a6f71130..0ae0315ff137 100644
--- a/specification/machinelearning/resource-manager/readme.md
+++ b/specification/machinelearning/resource-manager/readme.md
@@ -77,6 +77,16 @@ input-file:
```
+## Suppression
+``` yaml
+directive:
+ - suppress: TrackedResourcePatchOperation
+ from: commitmentPlans.json
+ where: $.definitions.CommitmentAssociation
+ reason: The CommitmentAssociation is an internal association from a Web Service to a Commitment Plan, which can only be created or updated by Web Service Resource Provider.
+```
+
+
---
# Code Generation
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/getAmlCompute.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/getAmlCompute.json
index 9e25f6eecf60..4b52399c1dc0 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/getAmlCompute.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/getAmlCompute.json
@@ -17,7 +17,7 @@
"description": "some compute",
"computeType": "AmlCompute",
"createdOn": "2017-09-26T22:28:08.327Z",
- "provisioningState": "succeeded",
+ "provisioningState": "Succeeded",
"properties": {
"vmSize": "STANDARD_NC6",
"vmPriority": "Dedicated",
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/listAmlComputeByWorkspace.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/listAmlComputeByWorkspace.json
index bf00f5370e39..8a0dfd9d0af8 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/listAmlComputeByWorkspace.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/examples/listAmlComputeByWorkspace.json
@@ -15,7 +15,7 @@
"type": "Microsoft.MachineLearningServices/workspaces/computes",
"properties": {
"createdOn": "2017-09-26T22:28:08.327Z",
- "provisioningState": "succeeded",
+ "provisioningState": "Succeeded",
"properties": {
"allocationState": "Resizing",
"allocationStateTransitionTime": "2017-09-27T22:28:08.998Z",
@@ -38,7 +38,7 @@
"leavingNodeCount": 0,
"preemptedNodeCount": 0
}
- }
+ }
}
}
]
diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json
index 55c2232bad05..be8e353ed03a 100644
--- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json
+++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2018-11-19/machineLearningServices.json
@@ -439,7 +439,7 @@
"nextLinkName": null
}
}
- },
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces": {
"get": {
"tags": [
@@ -1782,7 +1782,7 @@
},
"SslConfiguration": {
"type": "object",
- "description": "The ssl configugation for scoring",
+ "description": "The ssl configuration for scoring",
"properties": {
"status": {
"description": "Enable or disable ssl for scoring",
@@ -2082,7 +2082,7 @@
"type": "object",
"properties": {
"administratorAccount": {
- "description": "Admin creadentials for virtual machine.",
+ "description": "Admin credentials for virtual machine.",
"$ref": "#/definitions/VirtualMachineSshCredentials"
}
}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/stable/2018-05-01/maps-management.json b/specification/maps/resource-manager/Microsoft.Maps/stable/2018-05-01/maps-management.json
index 727b920e3175..80932cdb5ec4 100644
--- a/specification/maps/resource-manager/Microsoft.Maps/stable/2018-05-01/maps-management.json
+++ b/specification/maps/resource-manager/Microsoft.Maps/stable/2018-05-01/maps-management.json
@@ -589,6 +589,11 @@
"readOnly": true,
"description": "The SKU of this account.",
"$ref": "#/definitions/Sku"
+ },
+ "properties": {
+ "readOnly": true,
+ "description": "The map account properties.",
+ "$ref": "#/definitions/MapsAccountProperties"
}
},
"allOf": [
@@ -784,6 +789,15 @@
}
}
}
+ },
+ "MapsAccountProperties": {
+ "description": "Additional Map account properties",
+ "properties": {
+ "x-ms-client-id":{
+ "description": "A unique identifier for the maps account",
+ "type":"string"
+ }
+ }
}
}
}
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/CheckNameAvailability.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..d547976bab99
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/CheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "nameAvailabilityRequest": {
+ "name": "name1",
+ "type": "Microsoft.DBforMariaDB"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "message": "",
+ "reason": ""
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ConfigurationCreateOrUpdate.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ConfigurationCreateOrUpdate.json
new file mode 100644
index 000000000000..be1a20a77a7a
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ConfigurationCreateOrUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "configurationName": "event_scheduler",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties":{
+ "value": "off",
+ "source": "user-override"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "value": "ON",
+ "description": "Indicates the status of the Event Scheduler.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF,DISABLED",
+ "source": "user-override"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/configurations/event_scheduler",
+ "name": "event_scheduler",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ConfigurationGet.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ConfigurationGet.json
new file mode 100644
index 000000000000..c742fb75969e
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ConfigurationGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "configurationName": "event_scheduler",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "value": "ON",
+ "description": "Indicates the status of the Event Scheduler.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF,DISABLED",
+ "source": "user-override"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/configurations/event_scheduler",
+ "name": "event_scheduler",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ConfigurationListByServer.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ConfigurationListByServer.json
new file mode 100644
index 000000000000..9d6f937021cf
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ConfigurationListByServer.json
@@ -0,0 +1,601 @@
+{
+ "parameters": {
+ "serverName": "mariadbtestsvc1",
+ "resourceGroupName": "testrg",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "value": "OFF",
+ "description": "Indicates the status of the Event Scheduler.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF,DISABLED",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/event_scheduler",
+ "name": "event_scheduler",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "4",
+ "description": "Number of digits by which to increase the scale of the result of division operations.",
+ "defaultValue": "4",
+ "dataType": "Integer",
+ "allowedValues": "0-30",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/div_precision_increment",
+ "name": "div_precision_increment",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1024",
+ "description": "Maximum allowed result length in bytes for the GROUP_CONCAT().",
+ "defaultValue": "1024",
+ "dataType": "Integer",
+ "allowedValues": "4-16777216",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/group_concat_max_len",
+ "name": "group_concat_max_len",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "ON",
+ "description": "Whether innodb adaptive hash indexes are enabled or disabled.",
+ "defaultValue": "ON",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_adaptive_hash_index",
+ "name": "innodb_adaptive_hash_index",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "50",
+ "description": "The length of time in seconds an InnoDB transaction waits for a row lock before giving up.",
+ "defaultValue": "50",
+ "dataType": "Integer",
+ "allowedValues": "1-3600",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_lock_wait_timeout",
+ "name": "innodb_lock_wait_timeout",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1800",
+ "description": "Number of seconds the server waits for activity on an interactive connection before closing it.",
+ "defaultValue": "1800",
+ "dataType": "Integer",
+ "allowedValues": "10-1800",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/interactive_timeout",
+ "name": "interactive_timeout",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "OFF",
+ "description": "Logs queries that are expected to retrieve all rows to slow query log.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/log_queries_not_using_indexes",
+ "name": "log_queries_not_using_indexes",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Limits the number of such queries per minute that can be written to the slow query log.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-4294967295",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/log_throttle_queries_not_using_indexes",
+ "name": "log_throttle_queries_not_using_indexes",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "OFF",
+ "description": "Include slow administrative statements in the statements written to the slow query log.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/log_slow_admin_statements",
+ "name": "log_slow_admin_statements",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "OFF",
+ "description": "When the slow query log is enabled, this variable enables logging for queries that have taken more than long_query_time seconds to execute on the slave.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/log_slow_slave_statements",
+ "name": "log_slow_slave_statements",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "OFF",
+ "description": "This variable applies when binary logging is enabled. It controls whether stored function creators can be trusted not to create stored functions that will cause unsafe events to be written to the binary log.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/log_bin_trust_function_creators",
+ "name": "log_bin_trust_function_creators",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "10",
+ "description": "If a query takes longer than this many seconds, the server increments the Slow_queries status variable.",
+ "defaultValue": "10",
+ "dataType": "Numeric",
+ "allowedValues": "0-1E+100",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/long_query_time",
+ "name": "long_query_time",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "Can be used to cause queries which examine fewer than the stated number of rows not to be logged.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-18446744073709551615",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/min_examined_row_limit",
+ "name": "min_examined_row_limit",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "OFF",
+ "description": "Enable or disable the slow query log",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/slow_query_log",
+ "name": "slow_query_log",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "",
+ "description": "The current server SQL mode.",
+ "defaultValue": "",
+ "dataType": "Set",
+ "allowedValues": ",ALLOW_INVALID_DATES,ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,HIGH_NOT_PRECEDENCE,IGNORE_SPACE,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,NO_DIR_IN_CREATE,NO_ENGINE_SUBSTITUTION,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS,NO_UNSIGNED_SUBTRACTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY,PAD_CHAR_TO_FULL_LENGTH,PIPES_AS_CONCAT,REAL_AS_FLOAT,STRICT_ALL_TABLES,STRICT_TRANS_TABLES",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/sql_mode",
+ "name": "sql_mode",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "120",
+ "description": "The number of seconds the server waits for activity on a noninteractive connection before closing it.",
+ "defaultValue": "120",
+ "dataType": "Integer",
+ "allowedValues": "60-86400",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/wait_timeout",
+ "name": "wait_timeout",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "120",
+ "description": "The number of seconds the server waits for network reading action, especially for LOAD DATA LOCAL FILE.",
+ "defaultValue": "120",
+ "dataType": "Integer",
+ "allowedValues": "10-3600",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/net_read_timeout",
+ "name": "net_read_timeout",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "240",
+ "description": "The number of seconds the server waits for network writing action, especially for LOAD DATA LOCAL FILE.",
+ "defaultValue": "240",
+ "dataType": "Integer",
+ "allowedValues": "10-3600",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/net_write_timeout",
+ "name": "net_write_timeout",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1381286943",
+ "description": "The server ID, used in replication to give each master and slave a unique identity.",
+ "defaultValue": "1000",
+ "dataType": "Integer",
+ "allowedValues": "1000-4294967295",
+ "source": "user-override"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/server_id",
+ "name": "server_id",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "536870912",
+ "description": "The maximum size of one packet or any generated/intermediate string, or any parameter sent by the mariadb_stmt_send_long_data() C API function.",
+ "defaultValue": "536870912",
+ "dataType": "Integer",
+ "allowedValues": "1024-1073741824",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/max_allowed_packet",
+ "name": "max_allowed_packet",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "60",
+ "description": "The number of seconds to wait for more data from the master before the slave considers the connection broken, aborts the read, and tries to reconnect.",
+ "defaultValue": "60",
+ "dataType": "Integer",
+ "allowedValues": "30-3600",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/slave_net_timeout",
+ "name": "slave_net_timeout",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "SYSTEM",
+ "description": "The server time zone",
+ "defaultValue": "SYSTEM",
+ "dataType": "String",
+ "allowedValues": "[+|-][0]{0,1}[0-9]:[0-5][0-9]|[+|-][1][0-2]:[0-5][0-9]|SYSTEM",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/time_zone",
+ "name": "time_zone",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1000",
+ "description": "Controls how many microseconds the binary log commit waits before synchronizing the binary log file to disk.",
+ "defaultValue": "1000",
+ "dataType": "Integer",
+ "allowedValues": "0,11-1000000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/binlog_group_commit_sync_delay",
+ "name": "binlog_group_commit_sync_delay",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "The maximum number of transactions to wait for before aborting the current delay as specified by binlog-group-commit-sync-delay.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-1000000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/binlog_group_commit_sync_no_delay_count",
+ "name": "binlog_group_commit_sync_no_delay_count",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "latin1",
+ "description": "Use charset_name as the default server character set.",
+ "defaultValue": "latin1",
+ "dataType": "Enumeration",
+ "allowedValues": "BIG5,DEC8,CP850,HP8,KOI8R,LATIN1,LATIN2,SWE7,ASCII,UJIS,SJIS,HEBREW,TIS620,EUCKR,KOI8U,GB2312,GREEK,CP1250,GBK,LATIN5,ARMSCII8,UTF8,UCS2,CP866,KEYBCS2,MACCE,MACROMAN,CP852,LATIN7,UTF8MB4,CP1251,UTF16,CP1256,CP1257,UTF32,BINARY,GEOSTD8,CP932,EUCJPMS",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/character_set_server",
+ "name": "character_set_server",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "262144",
+ "description": "The minimum size of the buffer that is used for plain index scans, range index scans, and joins that do not use indexes and thus perform full table scans.",
+ "defaultValue": "262144",
+ "dataType": "Integer",
+ "allowedValues": "128-2097152",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/join_buffer_size",
+ "name": "join_buffer_size",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "2000",
+ "description": "The number of open tables for all threads.",
+ "defaultValue": "2000",
+ "dataType": "Integer",
+ "allowedValues": "1-4000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/table_open_cache",
+ "name": "table_open_cache",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1",
+ "description": "If set to 1, table names are stored in lowercase on disk and comparisons are not case sensitive. If set to 2, table names are stored as given but compared in lowercase.",
+ "defaultValue": "1",
+ "dataType": "Enumeration",
+ "allowedValues": "1,2",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/lower_case_table_names",
+ "name": "lower_case_table_names",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "OFF",
+ "description": "This option places an upper limit on the total size in bytes of all relay logs on the slave.",
+ "defaultValue": "OFF",
+ "dataType": "Enumeration",
+ "allowedValues": "ON,OFF",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/slave_compressed_protocol",
+ "name": "slave_compressed_protocol",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "200",
+ "description": "Sets an upper limit on I/O activity performed by InnoDB background tasks, such as flushing pages from the buffer pool and merging data from the change buffer.",
+ "defaultValue": "200",
+ "dataType": "Integer",
+ "allowedValues": "100-1500",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_io_capacity",
+ "name": "innodb_io_capacity",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "4",
+ "description": "The number of I/O threads for read operations in InnoDB.",
+ "defaultValue": "4",
+ "dataType": "Integer",
+ "allowedValues": "1-64",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_read_io_threads",
+ "name": "innodb_read_io_threads",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "0",
+ "description": "InnoDB tries to keep the number of operating system threads concurrently inside InnoDB less than or equal to the limit given by this variable.",
+ "defaultValue": "0",
+ "dataType": "Integer",
+ "allowedValues": "0-1000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_thread_concurrency",
+ "name": "innodb_thread_concurrency",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "4",
+ "description": "The number of I/O threads for write operations in InnoDB.",
+ "defaultValue": "4",
+ "dataType": "Integer",
+ "allowedValues": "1-64",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_write_io_threads",
+ "name": "innodb_write_io_threads",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "4",
+ "description": "The number of page cleaner threads that flush dirty pages from buffer pool instances.",
+ "defaultValue": "4",
+ "dataType": "Integer",
+ "allowedValues": "1-64",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_page_cleaners",
+ "name": "innodb_page_cleaners",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "134217728",
+ "description": "Specifies an upper limit on the size of the temporary log files used during online DDL operations for InnoDB tables.",
+ "defaultValue": "134217728",
+ "dataType": "Integer",
+ "allowedValues": "65536-2147483648",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_online_alter_log_max_size",
+ "name": "innodb_online_alter_log_max_size",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "",
+ "description": "A string to be executed by the server for each client that connects.",
+ "defaultValue": "",
+ "dataType": "String",
+ "allowedValues": "",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/init_connect",
+ "name": "init_connect",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "REPEATABLE-READ",
+ "description": "The default transaction isolation level.",
+ "defaultValue": "REPEATABLE-READ",
+ "dataType": "Enumeration",
+ "allowedValues": "READ-UNCOMMITTED,READ-COMMITTED,REPEATABLE-READ,SERIALIZABLE",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/tx_isolation",
+ "name": "tx_isolation",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "200",
+ "description": "This variable indicates the number of equality ranges in an equality comparison condition when the optimizer should switch from using index dives to index statistics in estimating the number of qualifying rows.",
+ "defaultValue": "200",
+ "dataType": "Integer",
+ "allowedValues": "0-4294967295",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/eq_range_index_dive_limit",
+ "name": "eq_range_index_dive_limit",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "37",
+ "description": "Specifies the approximate percentage of the InnoDB buffer pool used for the old block sublist.",
+ "defaultValue": "37",
+ "dataType": "Integer",
+ "allowedValues": "5-95",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_old_blocks_pct",
+ "name": "innodb_old_blocks_pct",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1000",
+ "description": "Non-zero values protect against the buffer pool being filled by data that is referenced only for a brief period, such as during a full table scan.",
+ "defaultValue": "1000",
+ "dataType": "Integer",
+ "allowedValues": "0-4294967295",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_old_blocks_time",
+ "name": "innodb_old_blocks_time",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "56",
+ "description": "Controls the sensitivity of linear read-ahead that InnoDB uses to prefetch pages into the buffer pool.",
+ "defaultValue": "56",
+ "dataType": "Integer",
+ "allowedValues": "0-64",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_read_ahead_threshold",
+ "name": "innodb_read_ahead_threshold",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "1024",
+ "description": "The cutoff on the size of index values that determines which filesort algorithm to use.",
+ "defaultValue": "1024",
+ "dataType": "Integer",
+ "allowedValues": "4-8388608",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/max_length_for_sort_data",
+ "name": "max_length_for_sort_data",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "100",
+ "description": "If more than this many successive connection requests from a host are interrupted without a successful connection, the server blocks that host from further connections.",
+ "defaultValue": "100",
+ "dataType": "Integer",
+ "allowedValues": "1-18446744073709551615",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/max_connect_errors",
+ "name": "max_connect_errors",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "10000",
+ "description": "Defines how long InnoDB threads sleep before joining the InnoDB queue, in microseconds.",
+ "defaultValue": "10000",
+ "dataType": "Integer",
+ "allowedValues": "0-1000000",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_thread_sleep_delay",
+ "name": "innodb_thread_sleep_delay",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ },
+ {
+ "properties": {
+ "value": "Barracuda",
+ "description": "Indicates the InnoDB file format for file-per-table tablespaces.",
+ "defaultValue": "Barracuda",
+ "dataType": "Enumeration",
+ "allowedValues": "Antelope,Barracuda",
+ "source": "system-default"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/configurations/innodb_file_format",
+ "name": "innodb_file_format",
+ "type": "Microsoft.DBforMariaDB/servers/configurations"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseCreate.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseCreate.json
new file mode 100644
index 000000000000..0b0ffa2b8276
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "databaseName": "db1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties":{
+ "charset":"utf8",
+ "collation":"utf8_general_ci"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/databases/db1",
+ "name": "db1",
+ "type": "Microsoft.DBforMariaDB/servers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/databases/db1",
+ "name": "db1",
+ "type": "Microsoft.DBforMariaDB/servers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseDelete.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseDelete.json
new file mode 100644
index 000000000000..8fb3bae30a47
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "databaseName": "db1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseGet.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseGet.json
new file mode 100644
index 000000000000..9a48aa456d70
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "databaseName": "db1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/databases/db1",
+ "name": "db1",
+ "type": "Microsoft.DBforMariaDB/servers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseListByServer.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseListByServer.json
new file mode 100644
index 000000000000..0307a92f626f
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/DatabaseListByServer.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/databases/db1",
+ "name": "db1",
+ "type": "Microsoft.DBforMariaDB/servers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/databases/db2",
+ "name": "db2",
+ "type": "Microsoft.DBforMariaDB/servers/databases",
+ "properties": {
+ "charset": "utf8",
+ "collation": "utf8_general_ci"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleCreate.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleCreate.json
new file mode 100644
index 000000000000..a788d945e9e0
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "firewallRuleName": "rule1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties":{
+ "startIpAddress":"0.0.0.0",
+ "endIpAddress":"255.255.255.255"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforMariaDB/servers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforMariaDB/servers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleDelete.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleDelete.json
new file mode 100644
index 000000000000..322a072c0209
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "firewallRuleName": "rule1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleGet.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleGet.json
new file mode 100644
index 000000000000..e073fbc225d4
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "firewallRuleName": "rule1",
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforMariaDB/servers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleListByServer.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleListByServer.json
new file mode 100644
index 000000000000..7231a5428143
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/FirewallRuleListByServer.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/firewallRules/rule1",
+ "name": "rule1",
+ "type": "Microsoft.DBforMariaDB/servers/firewallRules",
+ "properties": {
+ "startIpAddress": "0.0.0.0",
+ "endIpAddress": "255.255.255.255"
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver/firewallRules/rule2",
+ "name": "rule2",
+ "type": "Microsoft.DBforMariaDB/servers/firewallRules",
+ "properties": {
+ "startIpAddress": "1.0.0.0",
+ "endIpAddress": "255.0.0.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/LogFileListByServer.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/LogFileListByServer.json
new file mode 100644
index 000000000000..89bf4bb4a8fe
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/LogFileListByServer.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "sizeInKB": 1,
+ "createdTime": "0001-01-01T00:00:00+00:00",
+ "lastModifiedTime": "2018-03-01T06:09:20+00:00",
+ "type": "slowlog",
+ "url": "https://wasd2prodwus1afse42.file.core.windows.net/833c99b2f36c47349e5554b903fe0440/serverlogs/mariadb-slow-mariadbtestsvc1-2018022823.log?sv=2015-04-05&sr=f&sig=D9Ga4N5Pa%2BPe5Bmjpvs7A0TPD%2FF7IZpk9e4KWR0jgpM%3D&se=2018-03-01T07%3A12%3A13Z&sp=r"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1/logFiles/mariadb-slow-mariadbtestsvc1-2018022823.log",
+ "name": "mariadb-slow-mariadbtestsvc1-2018022823.log",
+ "type": "Microsoft.DBforMariaDB/servers/logFiles"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/OperationList.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/OperationList.json
new file mode 100644
index 000000000000..5fee21cd2548
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/OperationList.json
@@ -0,0 +1,217 @@
+{
+ "parameters": {
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DBforMariaDB/locations/performanceTiers/read",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "Performance Tiers",
+ "operation": "List Performance Tiers",
+ "description": "Returns the list of Performance Tiers available."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/firewallRules/read",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "Firewall Rules",
+ "operation": "List/Get Firewall Rules",
+ "description": "Return the list of firewall rules for a server or gets the properties for the specified firewall rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/firewallRules/write",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "Firewall Rules",
+ "operation": "Create/Update Firewall Rule",
+ "description": "Creates a firewall rule with the specified parameters or update an existing rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/firewallRules/delete",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "Firewall Rules",
+ "operation": "Delete Firewall Rule",
+ "description": "Deletes an existing firewall rule."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/read",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "MariaDB Server",
+ "operation": "List/Get MariaDB Servers",
+ "description": "Return the list of servers or gets the properties for the specified server."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/write",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "MariaDB Server",
+ "operation": "Create/Update MariaDB Server",
+ "description": "Creates a server with the specified parameters or update the properties or tags for the specified server."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/delete",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "MariaDB Server",
+ "operation": "Delete MariaDB Server",
+ "description": "Deletes an existing server."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/performanceTiers/read",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "Performance Tiers",
+ "operation": "List Performance Tiers",
+ "description": "Returns the list of Performance Tiers available."
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/recoverableServers/read",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "Recoverable MariaDB Server",
+ "operation": "Get Recoverable MariaDB Server info",
+ "description": "Return the recoverable MariaDB Server info"
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "Database Metric Definition",
+ "operation": "Get database metric definitions",
+ "description": "Return types of metrics that are available for databases"
+ },
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "cpu_percent",
+ "displayName": "CPU percent",
+ "displayDescription": "CPU percent",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "memory_percent",
+ "displayName": "Memory percent",
+ "displayDescription": "Memory percent",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "io_consumption_percent",
+ "displayName": "IO percent",
+ "displayDescription": "IO percent",
+ "unit": "Percent",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "storage_percent",
+ "displayName": "Storage percentage",
+ "displayDescription": "Storage percentage",
+ "unit": "Percent",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "storage_used",
+ "displayName": "Storage used",
+ "displayDescription": "Storage used",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "storage_limit",
+ "displayName": "Storage limit",
+ "displayDescription": "Storage limit",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "serverlog_storage_percent",
+ "displayName": "Server Log storage percent",
+ "displayDescription": "Server Log storage percent",
+ "unit": "Percent",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "serverlog_storage_usage",
+ "displayName": "Server Log storage used",
+ "displayDescription": "Server Log storage used",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "serverlog_storage_limit",
+ "displayName": "Server Log storage limit",
+ "displayDescription": "Server Log storage limit",
+ "unit": "Bytes",
+ "aggregationType": "Average"
+ },
+ {
+ "name": "active_connections",
+ "displayName": "Total active connections",
+ "displayDescription": "Total active connections",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "connections_failed",
+ "displayName": "Total failed connections",
+ "displayDescription": "Total failed connections",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ },
+ {
+ "name": "seconds_behind_master",
+ "displayName": "Replication lag in seconds",
+ "displayDescription": "Replication lag in seconds",
+ "unit": "Count",
+ "aggregationType": "Average",
+ "fillGapWithZero": true
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "Database Metric Definition",
+ "operation": "Read diagnostic setting",
+ "description": "Gets the disagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.DBforMariaDB/servers/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft DB for MariaDB",
+ "resource": "Database Metric Definition",
+ "operation": "Write diagnostic setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/PerformanceTiersListByLocation.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/PerformanceTiersListByLocation.json
new file mode 100644
index 000000000000..d6c217745b17
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/PerformanceTiersListByLocation.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "locationName": "WestUS"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "Basic",
+ "serviceLevelObjectives": [
+ {
+ "edition": "Basic",
+ "vCore": 1,
+ "hardwareGeneration": "Gen4",
+ "minStorageMB": 5120,
+ "maxStorageMB": 1048576,
+ "minBackupRetentionDays": 7,
+ "maxBackupRetentionDays": 35,
+ "id": "B_Gen4_1"
+ },
+ {
+ "edition": "Basic",
+ "vCore": 2,
+ "hardwareGeneration": "Gen4",
+ "minStorageMB": 5120,
+ "maxStorageMB": 1048576,
+ "minBackupRetentionDays": 7,
+ "maxBackupRetentionDays": 35,
+ "id": "B_Gen4_2"
+ }
+ ]
+ },
+ {
+ "id": "GeneralPurpose",
+ "serviceLevelObjectives": [
+ {
+ "edition": "GeneralPurpose",
+ "vCore": 2,
+ "hardwareGeneration": "Gen4",
+ "minStorageMB": 5120,
+ "maxStorageMB": 2097152,
+ "minBackupRetentionDays": 7,
+ "maxBackupRetentionDays": 35,
+ "id": "GP_Gen4_2"
+ },
+ {
+ "edition": "GeneralPurpose",
+ "vCore": 4,
+ "hardwareGeneration": "Gen4",
+ "minStorageMB": 5120,
+ "maxStorageMB": 2097152,
+ "minBackupRetentionDays": 7,
+ "maxBackupRetentionDays": 35,
+ "id": "GP_Gen4_4"
+ },
+ {
+ "edition": "GeneralPurpose",
+ "vCore": 8,
+ "hardwareGeneration": "Gen4",
+ "minStorageMB": 5120,
+ "maxStorageMB": 2097152,
+ "minBackupRetentionDays": 7,
+ "maxBackupRetentionDays": 35,
+ "id": "GP_Gen4_8"
+ },
+ {
+ "edition": "GeneralPurpose",
+ "vCore": 16,
+ "hardwareGeneration": "Gen4",
+ "minStorageMB": 5120,
+ "maxStorageMB": 2097152,
+ "minBackupRetentionDays": 7,
+ "maxBackupRetentionDays": 35,
+ "id": "GP_Gen4_16"
+ },
+ {
+ "edition": "GeneralPurpose",
+ "vCore": 32,
+ "hardwareGeneration": "Gen4",
+ "minStorageMB": 5120,
+ "maxStorageMB": 2097152,
+ "minBackupRetentionDays": 7,
+ "maxBackupRetentionDays": 35,
+ "id": "GP_Gen4_32"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ReplicasListByServer.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ReplicasListByServer.json
new file mode 100644
index 000000000000..9679de879c33
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ReplicasListByServer.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "serverName": "testmaster",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver",
+ "name": "testserver",
+ "type": "Microsoft.DBforMariaDB/servers",
+ "location": "northeurope",
+ "tags": {
+ "elasticServer": "1"
+ },
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "storageProfile": {
+ "storageMB": 256000,
+ "backupRetentionDays": 35,
+ "geoRedundantBackup": "Enabled"
+ },
+ "administratorLogin": "cloudsa",
+ "sslEnforcement":"Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver.mariadb.database.azure.com",
+ "version": "5.6",
+ "earliestRestoreDate": "2018-06-11T23:56:54.3+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testmaster",
+ "replicaCapacity": 0
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver1",
+ "name": "testserver1",
+ "type": "Microsoft.DBforMariaDB/servers",
+ "location": "northeurope",
+ "tags": {
+ "elasticServer": "1"
+ },
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "storageProfile": {
+ "storageMB": 256000,
+ "backupRetentionDays": 35,
+ "geoRedundantBackup": "Enabled"
+ },
+ "administratorLogin": "cloudsa",
+ "sslEnforcement":"Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver1.mariadb.database.azure.com",
+ "version": "5.6",
+ "earliestRestoreDate": "2018-06-11T23:56:54.3+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testmaster",
+ "replicaCapacity": 0
+ }
+ },
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testserver2",
+ "name": "testserver2",
+ "type": "Microsoft.DBforMariaDB/servers",
+ "location": "northeurope",
+ "tags": {
+ "elasticServer": "1"
+ },
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "storageProfile": {
+ "storageMB": 256000,
+ "backupRetentionDays": 35,
+ "geoRedundantBackup": "Enabled"
+ },
+ "administratorLogin": "cloudsa",
+ "sslEnforcement":"Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver2.mariadb.database.azure.com",
+ "version": "5.6",
+ "earliestRestoreDate": "2018-06-11T23:56:54.3+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/testmaster",
+ "replicaCapacity": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreate.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreate.json
new file mode 100644
index 000000000000..c25bf15f2430
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreate.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "serverName": "mariadbtestsvc4",
+ "resourceGroupName": "testrg",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "administratorLoginPassword": "pass$w0rd",
+ "sslEnforcement": "Enabled",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Enabled"
+ },
+ "createMode": "Default"
+ },
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "capacity": 2,
+ "family": "Gen5"
+ },
+ "tags": {
+ "ElasticServer": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "mariadbtestsvc4.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00"
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc4",
+ "name": "mariadbtestsvc4",
+ "type": "Microsoft.DBforMariaDB/servers"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc4",
+ "name": "mariadbtestsvc4",
+ "type": "Microsoft.DBforMariaDB/servers",
+ "location": "westus",
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "tags": {
+ "elasticServer": "1"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "mariadbtestsvc4.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00"
+ }
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreateGeoRestoreMode.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreateGeoRestoreMode.json
new file mode 100644
index 000000000000..c8f33b2ee7a5
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreateGeoRestoreMode.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "serverName": "targetserver",
+ "resourceGroupName": "TargetResourceGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "createMode": "GeoRestore",
+ "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforMariaDB/servers/sourceserver"
+ },
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "tags": {
+ "ElasticServer": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 14,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00"
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMariaDB/servers"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMariaDB/servers",
+ "location": "westus",
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "tags": {
+ "elasticServer": "1"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 14,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00"
+ }
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreatePointInTimeRestore.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreatePointInTimeRestore.json
new file mode 100644
index 000000000000..e8791c551045
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreatePointInTimeRestore.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "serverName": "targetserver",
+ "resourceGroupName": "TargetResourceGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "brazilsouth",
+ "properties": {
+ "restorePointInTime": "2017-12-14T00:00:37.467Z",
+ "createMode": "PointInTimeRestore",
+ "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforMariaDB/servers/sourceserver"
+ },
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "tags": {
+ "ElasticServer": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00"
+ },
+ "location": "brazilsouth",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMariaDB/servers"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMariaDB/servers",
+ "location": "brazilsouth",
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "tags": {
+ "elasticServer": "1"
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00"
+ }
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreateReplicaMode.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreateReplicaMode.json
new file mode 100644
index 000000000000..f60da39a2c06
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerCreateReplicaMode.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "serverName": "targetserver",
+ "resourceGroupName": "TargetResourceGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "createMode": "Replica",
+ "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/MasterResourceGroup/providers/Microsoft.DBforMariaDB/servers/masterserver"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 14,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/MasterResourceGroup/providers/Microsoft.DBforMariaDB/servers/masterserver",
+ "replicaCapacity": 0
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMariaDB/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMariaDB/servers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen5_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen5",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 14,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/MasterResourceGroup/providers/Microsoft.DBforMariaDB/servers/masterserver",
+ "replicaCapacity": 0
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TargetResourceGroup/providers/Microsoft.DBforMariaDB/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforMariaDB/servers"
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerDelete.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerDelete.json
new file mode 100644
index 000000000000..2a1ad22df63e
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerGet.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerGet.json
new file mode 100644
index 000000000000..97bad474fe4b
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serverName": "mariadbtestsvc4",
+ "resourceGroupName": "testrg",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "mariadbtestsvc4.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00",
+ "replicationRole": "None",
+ "masterServerId": "",
+ "replicaCapacity": 5
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc4",
+ "name": "mariadbtestsvc4",
+ "type": "Microsoft.DBforMariaDB/servers"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerList.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerList.json
new file mode 100644
index 000000000000..2a146eeea7a4
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerList.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "B_Gen4_2",
+ "tier": "Basic",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 5120,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "mariadbtestsvc1.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-02-28T23:56:02.627+00:00"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1",
+ "name": "mariadbtestsvc1",
+ "type": "Microsoft.DBforMariaDB/servers"
+ },
+ {
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 5120,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "mariadbtstsvc2.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-02-28T23:56:54.3+00:00"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtstsvc2",
+ "name": "mariadbtstsvc2",
+ "type": "Microsoft.DBforMariaDB/servers"
+ },
+ {
+ "sku": {
+ "name": "GP_Gen4_4",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 4
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 102400,
+ "backupRetentionDays": 35,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "mariadbtestsvc3.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-02-28T23:59:44.847+00:00"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg1/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc3",
+ "name": "mariadbtestsvc3",
+ "type": "Microsoft.DBforMariaDB/servers"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerListByResourceGroup.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerListByResourceGroup.json
new file mode 100644
index 000000000000..07c4f381084f
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerListByResourceGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "B_Gen4_1",
+ "tier": "Basic",
+ "family": "Gen4",
+ "capacity": 1
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 5120,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "mariadbtestsvc1.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-07T18:17:35.729321+00:00"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc1",
+ "name": "mariadbtestsvc1",
+ "type": "Microsoft.DBforMariaDB/servers"
+ },
+ {
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "testuser",
+ "storageProfile": {
+ "storageMB": 5120,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "mariadbtstsvc2.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-07T18:17:35.729321+00:00"
+ },
+ "location": "westus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtstsvc2",
+ "name": "mariadbtstsvc2",
+ "type": "Microsoft.DBforMariaDB/servers"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerRestart.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerRestart.json
new file mode 100644
index 000000000000..3a6333f8febc
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerRestart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+ }
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerSecurityAlertsCreateMax.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerSecurityAlertsCreateMax.json
new file mode 100644
index 000000000000..ddd2caa7654b
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerSecurityAlertsCreateMax.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "securityalert-4799",
+ "serverName": "securityalert-6440",
+ "securityAlertPolicyName": "Default",
+ "api-version": "2018-06-01",
+ "parameters": {
+ "properties": {
+ "state": "Enabled",
+ "emailAccountAdmins": true,
+ "emailAddresses": ["testSecurityAlert@microsoft.com"],
+ "disabledAlerts": ["Access_Anomaly", "Usage_Anomaly"],
+ "retentionDays": 5,
+ "storageAccountAccessKey": "sdlfkjabc+sdlfkjsdlkfsjdfLDKFTERLKFDFKLjsdfksjdflsdkfD2342309432849328476458/3RSD==",
+ "storageEndpoint": "https://mystorage.blob.core.windows.net"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforMariaDB/servers/securityalert-6440/securityAlertPolicies/default",
+ "name": "Default",
+ "type": "Microsoft.DBforMariaDB/servers/securityAlertPolicies",
+ "properties": {
+ "state": "Enabled",
+ "emailAccountAdmins": true,
+ "emailAddresses": ["testSecurityAlert@microsoft.com"],
+ "disabledAlerts": ["Access_Anomaly","Usage_Anomaly"],
+ "retentionDays": 5,
+ "storageEndpoint": "https://mystorage.blob.core.windows.net"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerSecurityAlertsCreateMin.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerSecurityAlertsCreateMin.json
new file mode 100644
index 000000000000..704fcf37b4f3
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerSecurityAlertsCreateMin.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "securityalert-4799",
+ "serverName": "securityalert-6440",
+ "securityAlertPolicyName": "Default",
+ "api-version": "2018-06-01",
+ "parameters": {
+ "properties": {
+ "state": "Disabled",
+ "emailAccountAdmins": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforMariaDB/servers/securityalert-6440/securityAlertPolicies/default",
+ "name": "Default",
+ "type": "Microsoft.DBforMariaDB/servers/securityAlertPolicies",
+ "properties": {
+ "state": "Enabled",
+ "emailAccountAdmins": true,
+ "emailAddresses": [],
+ "disabledAlerts": [],
+ "retentionDays": 0,
+ "storageEndpoint": ""
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerSecurityAlertsGet.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerSecurityAlertsGet.json
new file mode 100644
index 000000000000..6c7833d4d89c
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerSecurityAlertsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "securityalert-4799",
+ "serverName": "securityalert-6440",
+ "securityAlertPolicyName": "Default",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/securityalert-4799/providers/Microsoft.DBforMariaDB/servers/securityalert-6440/securityAlertPolicies/default",
+ "name": "Default",
+ "type": "Microsoft.DBforMariaDB/servers/securityAlertPolicies",
+ "properties": {
+ "state": "Disabled",
+ "emailAccountAdmins": true,
+ "emailAddresses": [ "test@microsoft.com;user@microsoft.com" ],
+ "disabledAlerts": ["Access_Anomaly"],
+ "retentionDays": 0,
+ "storageEndpoint": "https://mystorage.blob.core.windows.net"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerUpdate.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerUpdate.json
new file mode 100644
index 000000000000..046eed085de4
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/ServerUpdate.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "serverName": "mariadbtestsvc4",
+ "resourceGroupName": "testrg",
+ "api-version": "2018-06-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "properties": {
+ "administratorLoginPassword": "newpa$$w0rd",
+ "sslEnforcement": "Disabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Enabled"
+ },
+ "version": "5.7",
+ "sslEnforcement": "Disabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "mariadbtestsvc4.mariadb.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T18:02:41.577+00:00"
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMariaDB/servers/mariadbtestsvc4",
+ "name": "mariadbtestsvc4",
+ "type": "Microsoft.DBforMariaDB/servers"
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesCreateOrUpdate.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesCreateOrUpdate.json
new file mode 100644
index 000000000000..2df814ab4133
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesCreateOrUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverName": "vnet-test-svr",
+ "virtualNetworkRuleName": "vnet-firewall-rule",
+ "api-version": "2018-06-01",
+ "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.DBforMariaDB/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
+ "name": "vnet-firewall-rule",
+ "type": "Microsoft.DBforMariaDB/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.DBforMariaDB/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
+ "name": "vnet-firewall-rule",
+ "type": "Microsoft.DBforMariaDB/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/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesDelete.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesDelete.json
new file mode 100644
index 000000000000..25b007c52c42
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverName": "vnet-test-svr",
+ "virtualNetworkRuleName": "vnet-firewall-rule",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": ""
+ },
+ "202": {
+ "body": ""
+ },
+ "204": {
+ "body": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesGet.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesGet.json
new file mode 100644
index 000000000000..1b97f04ccc5a
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverName": "vnet-test-svr",
+ "virtualNetworkRuleName": "vnet-firewall-rule",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
+ "name": "vnet-firewall-rule",
+ "type": "Microsoft.DBforMariaDB/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/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesList.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesList.json
new file mode 100644
index 000000000000..e3ea4b632c8e
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/examples/VirtualNetworkRulesList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "resourceGroupName": "TestGroup",
+ "serverName": "vnet-test-svr",
+ "virtualNetworkRuleName": "vnet-firewall-rule",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMariaDB/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
+ "name": "vnet-firewall-rule",
+ "type": "Microsoft.DBforMariaDB/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.DBforMariaDB/servers/vnet-test-svr/virtualNetworkRules/vnet-firewall-rule",
+ "name": "vnet-firewall-rule",
+ "type": "Microsoft.DBforMariaDB/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/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json
new file mode 100644
index 000000000000..546ca981ce57
--- /dev/null
+++ b/specification/mariadb/resource-manager/Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json
@@ -0,0 +1,2352 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "MariaDBManagementClient",
+ "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MariaDB resources including servers, databases, firewall rules, VNET rules, log files and configurations with new business model.",
+ "version": "2018-06-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.DBforMariaDB/servers/{serverName}": {
+ "put": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Create",
+ "x-ms-examples": {
+ "Create a new server": {
+ "$ref": "./examples/ServerCreate.json"
+ },
+ "Create a database as a point in time restore": {
+ "$ref":"./examples/ServerCreatePointInTimeRestore.json"
+ },
+ "Create a server as a geo restore ": {
+ "$ref": "./examples/ServerCreateGeoRestoreMode.json"
+ },
+ "Create a replica server": {
+ "$ref": "./examples/ServerCreateReplicaMode.json"
+ }
+ },
+ "description": "Creates a new server or updates an existing server. The update action will overwrite the existing server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerForCreate"
+ },
+ "description": "The required parameters for creating or updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Update",
+ "x-ms-examples": {
+ "ServerUpdate": {
+ "$ref": "./examples/ServerUpdate.json"
+ }
+ },
+ "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerUpdateParameters"
+ },
+ "description": "The required parameters for updating a server."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Delete",
+ "x-ms-examples": {
+ "ServerDelete": {
+ "$ref": "./examples/ServerDelete.json"
+ }
+ },
+ "description": "Deletes a server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_Get",
+ "x-ms-examples": {
+ "ServerGet": {
+ "$ref": "./examples/ServerGet.json"
+ }
+ },
+ "description": "Gets information about a server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Server"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_ListByResourceGroup",
+ "x-ms-examples": {
+ "ServerListByResourceGroup": {
+ "$ref": "./examples/ServerListByResourceGroup.json"
+ }
+ },
+ "description": "List all the servers in a given resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/servers": {
+ "get": {
+ "tags": [
+ "Servers"
+ ],
+ "operationId": "Servers_List",
+ "x-ms-examples": {
+ "ServerList": {
+ "$ref": "./examples/ServerList.json"
+ }
+ },
+ "description": "List all the servers in a given subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/restart": {
+ "post": {
+ "tags": [
+ "ServerRestart"
+ ],
+ "operationId": "Servers_Restart",
+ "x-ms-examples": {
+ "ServerRestart": { "$ref": "./examples/ServerRestart.json" }
+ },
+ "description": "Restarts a server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/replicas": {
+ "get": {
+ "tags": [
+ "Replicas"
+ ],
+ "operationId": "Replicas_ListByServer",
+ "x-ms-examples": {
+ "ReplicasListByServer": {
+ "$ref": "./examples/ReplicasListByServer.json"
+ }
+ },
+ "description": "List all the replicas for a given server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules/{firewallRuleName}": {
+ "put": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_CreateOrUpdate",
+ "x-ms-examples": {
+ "FirewallRuleCreate": {
+ "$ref": "./examples/FirewallRuleCreate.json"
+ }
+ },
+ "description": "Creates a new firewall rule or updates an existing firewall rule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The required parameters for creating or updating a firewall rule."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Delete",
+ "x-ms-examples": {
+ "FirewallRuleDelete": {
+ "$ref": "./examples/FirewallRuleDelete.json"
+ }
+ },
+ "description": "Deletes a server firewall rule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_Get",
+ "x-ms-examples": {
+ "FirewallRuleGet": {
+ "$ref": "./examples/FirewallRuleGet.json"
+ }
+ },
+ "description": "Gets information about a server firewall rule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FirewallRuleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRule"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/firewallRules": {
+ "get": {
+ "tags": [
+ "FirewallRules"
+ ],
+ "operationId": "FirewallRules_ListByServer",
+ "x-ms-examples": {
+ "FirewallRuleList": {
+ "$ref": "./examples/FirewallRuleListByServer.json"
+ }
+ },
+ "description": "List all the firewall rules in a given server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FirewallRuleListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/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.DBforMariaDB/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.DBforMariaDB/servers/{serverName}/databases/{databaseName}": {
+ "put": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_CreateOrUpdate",
+ "x-ms-examples": {
+ "DatabaseCreate": {
+ "$ref": "./examples/DatabaseCreate.json"
+ }
+ },
+ "description": "Creates a new database or updates an existing database.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The required parameters for creating or updating a database."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_Delete",
+ "x-ms-examples": {
+ "DatabaseDelete": {
+ "$ref": "./examples/DatabaseDelete.json"
+ }
+ },
+ "description": "Deletes a database.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_Get",
+ "x-ms-examples": {
+ "DatabaseGet": {
+ "$ref": "./examples/DatabaseGet.json"
+ }
+ },
+ "description": "Gets information about a database.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/databases": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_ListByServer",
+ "x-ms-examples": {
+ "DatabaseList": {
+ "$ref": "./examples/DatabaseListByServer.json"
+ }
+ },
+ "description": "List all the databases in a given server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DatabaseListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations/{configurationName}": {
+ "put": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "ConfigurationCreateOrUpdate": {
+ "$ref": "./examples/ConfigurationCreateOrUpdate.json"
+ }
+ },
+ "description": "Updates a configuration of a server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ },
+ "description": "The required parameters for updating a server configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_Get",
+ "x-ms-examples": {
+ "ConfigurationGet": {
+ "$ref": "./examples/ConfigurationGet.json"
+ }
+ },
+ "description": "Gets information about a configuration of server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigurationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Configuration"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/configurations": {
+ "get": {
+ "tags": [
+ "Configurations"
+ ],
+ "operationId": "Configurations_ListByServer",
+ "x-ms-examples": {
+ "ConfigurationList": {
+ "$ref": "./examples/ConfigurationListByServer.json"
+ }
+ },
+ "description": "List all the configurations in a given server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/logFiles": {
+ "get": {
+ "tags": [
+ "LogFiles"
+ ],
+ "operationId": "LogFiles_ListByServer",
+ "x-ms-examples": {
+ "LogFileList": {
+ "$ref": "./examples/LogFileListByServer.json"
+ }
+ },
+ "description": "List all the log files in a given server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogFileListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/locations/{locationName}/performanceTiers": {
+ "get": {
+ "tags": [
+ "LocationBasedPerformanceTier"
+ ],
+ "operationId": "LocationBasedPerformanceTier_List",
+ "x-ms-examples": {
+ "PerformanceTiersList": {
+ "$ref": "./examples/PerformanceTiersListByLocation.json"
+ }
+ },
+ "description": "List all the performance tiers at specified location in a given subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PerformanceTierListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMariaDB/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability"
+ ],
+ "operationId": "CheckNameAvailability_Execute",
+ "x-ms-examples": {
+ "NameAvailability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "description": "Check the availability of name for resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "nameAvailabilityRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityRequest"
+ },
+ "description": "The required parameters for checking if resource name is available."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NameAvailability"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMariaDB/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": {
+ "get": {
+ "tags": [
+ "ServerSecurityAlertPolicies"
+ ],
+ "description": "Get a server's security alert policy.",
+ "operationId": "ServerSecurityAlertPolicies_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "securityAlertPolicyName",
+ "in": "path",
+ "description": "The name of the security alert policy.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityAlertPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the server threat detection policy.",
+ "schema": {
+ "$ref": "#/definitions/ServerSecurityAlertPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation of getting security alert policies failed."
+ }
+ },
+ "x-ms-examples": {
+ "Get a server's threat detection policy": {
+ "$ref": "./examples/ServerSecurityAlertsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ServerSecurityAlertPolicies"
+ ],
+ "description": "Creates or updates a threat detection policy.",
+ "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ },
+ {
+ "name": "securityAlertPolicyName",
+ "in": "path",
+ "description": "The name of the threat detection policy.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Default"
+ ],
+ "x-ms-enum": {
+ "name": "SecurityAlertPolicyName",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The server security alert policy.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServerSecurityAlertPolicy"
+ }
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the threat detection policy.",
+ "schema": {
+ "$ref": "#/definitions/ServerSecurityAlertPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation of setting security alert policies failed."
+ },
+ "202": {
+ "description": "Created request to set the server threat detection policy."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a server's threat detection policy with all parameters": {
+ "$ref": "./examples/ServerSecurityAlertsCreateMax.json"
+ },
+ "Update a server's threat detection policy with minimal parameters": {
+ "$ref": "./examples/ServerSecurityAlertsCreateMin.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.DBforMariaDB/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "OperationList": {
+ "$ref": "./examples/OperationList.json"
+ }
+ },
+ "description": "Lists all of the available REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServerVersion": {
+ "type": "string",
+ "description": "The version of a server.",
+ "enum": [
+ "5.6",
+ "5.7"
+ ],
+ "x-ms-enum": {
+ "name": "ServerVersion",
+ "modelAsString": true
+ }
+ },
+ "SslEnforcement": {
+ "type": "string",
+ "description": "Enable ssl enforcement or not when connect to server.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "SslEnforcementEnum",
+ "modelAsString": false
+ }
+ },
+ "ProxyResource": {
+ "description": "Resource properties.",
+ "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."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "TrackedResource": {
+ "description": "Resource properties including location and tags for track resources.",
+ "properties": {
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The location the resource resides in."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "required": [
+ "location"
+ ]
+ },
+ "ServerProperties": {
+ "properties": {
+ "administratorLogin": {
+ "type": "string",
+ "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation)."
+ },
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "Server version."
+ },
+ "sslEnforcement": {
+ "$ref": "#/definitions/SslEnforcement",
+ "description": "Enable ssl enforcement or not when connect to server."
+ },
+ "userVisibleState": {
+ "type": "string",
+ "description": "A state of a server that is visible to user.",
+ "enum": [
+ "Ready",
+ "Dropping",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ServerState",
+ "modelAsString": true
+ }
+ },
+ "fullyQualifiedDomainName": {
+ "type": "string",
+ "description": "The fully qualified domain name of a server."
+ },
+ "earliestRestoreDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Earliest restore point creation time (ISO8601 format)"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Storage profile of a server."
+ },
+ "replicationRole": {
+ "type": "string",
+ "description": "The replication role of the server."
+ },
+ "masterServerId": {
+ "type": "string",
+ "description": "The master server id of a replica server."
+ },
+ "replicaCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The maximum number of replicas that a master server can have."
+ }
+ },
+ "description": "The properties of a server."
+ },
+ "StorageProfile": {
+ "properties": {
+ "backupRetentionDays": {
+ "type": "integer",
+ "description": "Backup retention days for the server."
+ },
+ "geoRedundantBackup": {
+ "type": "string",
+ "description": "Enable Geo-redundant or not for server backup.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "GeoRedundantBackup",
+ "modelAsString": true
+ }
+ },
+ "storageMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Max storage allowed for a server."
+ }
+ },
+ "description": "Storage Profile properties of a server"
+ },
+ "ServerPropertiesForCreate": {
+ "discriminator": "createMode",
+ "required": [
+ "createMode"
+ ],
+ "properties": {
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "Server version."
+ },
+ "sslEnforcement": {
+ "$ref": "#/definitions/SslEnforcement",
+ "description": "Enable ssl enforcement or not when connect to server."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Storage profile of a server."
+ },
+ "createMode": {
+ "type": "string",
+ "description": "The mode to create a new server.",
+ "enum": [
+ "Default",
+ "PointInTimeRestore",
+ "GeoRestore",
+ "Replica"
+ ],
+ "x-ms-enum": {
+ "name": "CreateMode",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The properties used to create a new server."
+ },
+ "ServerPropertiesForDefaultCreate": {
+ "x-ms-discriminator-value": "Default",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServerPropertiesForCreate"
+ }
+ ],
+ "properties": {
+ "administratorLogin": {
+ "type": "string",
+ "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation)."
+ },
+ "administratorLoginPassword": {
+ "type": "string",
+ "format": "password",
+ "description": "The password of the administrator login."
+ }
+ },
+ "required": [
+ "administratorLogin",
+ "administratorLoginPassword"
+ ],
+ "description": "The properties used to create a new server."
+ },
+ "ServerPropertiesForRestore": {
+ "x-ms-discriminator-value": "PointInTimeRestore",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServerPropertiesForCreate"
+ }
+ ],
+ "properties": {
+ "sourceServerId": {
+ "type": "string",
+ "description": "The source server id to restore from."
+ },
+ "restorePointInTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Restore point creation time (ISO8601 format), specifying the time to restore from."
+ }
+ },
+ "required": [
+ "sourceServerId",
+ "restorePointInTime"
+ ],
+ "description": "The properties used to create a new server by restoring from a backup."
+ },
+ "ServerPropertiesForGeoRestore": {
+ "x-ms-discriminator-value": "GeoRestore",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServerPropertiesForCreate"
+ }
+ ],
+ "properties": {
+ "sourceServerId": {
+ "type": "string",
+ "description": "The source server id to restore from."
+ }
+ },
+ "required": [
+ "sourceServerId"
+ ],
+ "description": "The properties used to create a new server by restoring to a different region from a geo replicated backup."
+ },
+ "ServerPropertiesForReplica": {
+ "x-ms-discriminator-value": "Replica",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServerPropertiesForCreate"
+ }
+ ],
+ "properties": {
+ "sourceServerId": {
+ "type": "string",
+ "description": "The master server id to create replica from."
+ }
+ },
+ "required": [
+ "sourceServerId"
+ ],
+ "description": "The properties to create a new replica."
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8."
+ },
+ "tier": {
+ "type": "string",
+ "description": "The tier of the particular SKU, e.g. Basic.",
+ "enum": [
+ "Basic",
+ "GeneralPurpose",
+ "MemoryOptimized"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The scale up/out capacity, representing server's compute units."
+ },
+ "size": {
+ "type": "string",
+ "description": "The size code, to be interpreted by resource as appropriate."
+ },
+ "family": {
+ "type": "string",
+ "description": "The family of hardware."
+ }
+ },
+ "description": "Billing information related properties of a server."
+ },
+ "Server": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerProperties",
+ "x-ms-client-flatten": true,
+ "description": "Properties of the server."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Represents a server."
+ },
+ "ServerForCreate": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "properties": {
+ "$ref": "#/definitions/ServerPropertiesForCreate",
+ "x-ms-client-flatten": false,
+ "description": "Properties of the server."
+ },
+ "location": {
+ "type": "string",
+ "description": "The location the resource resides in."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ },
+ "required": [
+ "properties",
+ "location"
+ ],
+ "description": "Represents a server to be created."
+ },
+ "ServerUpdateParameters": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU (pricing tier) of the server."
+ },
+ "properties": {
+ "properties": {
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Storage profile of a server."
+ },
+ "administratorLoginPassword": {
+ "type": "string",
+ "format": "password",
+ "description": "The password of the administrator login."
+ },
+ "version": {
+ "$ref": "#/definitions/ServerVersion",
+ "description": "The version of a server."
+ },
+ "sslEnforcement": {
+ "$ref": "#/definitions/SslEnforcement",
+ "description": "Enable ssl enforcement or not when connect to server."
+ },
+ "replicationRole": {
+ "type": "string",
+ "description": "The replication role of the server."
+ }
+ },
+ "x-ms-client-flatten": true,
+ "description": "The properties that can be updated for a server."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Application-specific metadata in the form of key-value pairs."
+ }
+ },
+ "description": "Parameters allowed to update for a server."
+ },
+ "ServerListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Server"
+ },
+ "description": "The list of servers"
+ }
+ },
+ "description": "A list of servers."
+ },
+ "FirewallRuleProperties": {
+ "properties": {
+ "startIpAddress": {
+ "type": "string",
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
+ "description": "The start IP address of the server firewall rule. Must be IPv4 format."
+ },
+ "endIpAddress": {
+ "type": "string",
+ "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$",
+ "description": "The end IP address of the server firewall rule. Must be IPv4 format."
+ }
+ },
+ "required": [
+ "startIpAddress",
+ "endIpAddress"
+ ],
+ "description": "The properties of a server firewall rule."
+ },
+ "FirewallRule": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FirewallRuleProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a firewall rule."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "description": "Represents a server firewall rule."
+ },
+ "FirewallRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FirewallRule"
+ },
+ "description": "The list of firewall rules in a server."
+ }
+ },
+ "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": {
+ "type": "string",
+ "description": "The charset of the database."
+ },
+ "collation": {
+ "type": "string",
+ "description": "The collation of the database."
+ }
+ },
+ "description": "The properties of a database."
+ },
+ "Database": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DatabaseProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a database."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a Database."
+ },
+ "DatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The list of databases housed in a server"
+ }
+ },
+ "description": "A List of databases."
+ },
+ "ConfigurationProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Value of the configuration."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Description of the configuration."
+ },
+ "defaultValue": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Default value of the configuration."
+ },
+ "dataType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Data type of the configuration."
+ },
+ "allowedValues": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Allowed values of the configuration."
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of the configuration."
+ }
+ },
+ "description": "The properties of a configuration."
+ },
+ "Configuration": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of a configuration."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a Configuration."
+ },
+ "ConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Configuration"
+ },
+ "description": "The list of server configurations."
+ }
+ },
+ "description": "A list of server configurations."
+ },
+ "OperationDisplay": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Operation resource provider name."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource on which the operation is performed."
+ },
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Localized friendly name for the operation."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Operation description."
+ }
+ },
+ "readOnly": true,
+ "description": "Display metadata associated with the operation."
+ },
+ "Operation": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the operation being performed on this particular object."
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "readOnly": true,
+ "description": "The localized display information for this particular operation or action."
+ },
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "NotSpecified",
+ "user",
+ "system"
+ ],
+ "x-ms-enum": {
+ "name": "OperationOrigin",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "readOnly": true,
+ "x-ms-client-flatten": false,
+ "description": "Additional descriptions for the operation."
+ }
+ },
+ "description": "REST API operation definition."
+ },
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "The list of resource provider operations."
+ }
+ },
+ "description": "A list of resource provider operations."
+ },
+ "LogFileProperties": {
+ "properties": {
+ "sizeInKB": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Size of the log file."
+ },
+ "createdTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Creation timestamp of the log file."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Last modified timestamp of the log file."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the log file."
+ },
+ "url": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The url to download the log file from."
+ }
+ },
+ "description": "The properties of a log file."
+ },
+ "LogFile": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the log file."
+ },
+ "properties": {
+ "$ref": "#/definitions/LogFileProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of the log file."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Represents a log file."
+ },
+ "LogFileListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogFile"
+ },
+ "description": "The list of log files."
+ }
+ },
+ "description": "A list of log files."
+ },
+ "PerformanceTierServiceLevelObjectives": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID for the service level objective."
+ },
+ "edition": {
+ "type": "string",
+ "description": "Edition of the performance tier."
+ },
+ "vCore": {
+ "type": "integer",
+ "description": "vCore associated with the service level objective"
+ },
+ "hardwareGeneration": {
+ "type": "string",
+ "description": "Hardware generation associated with the service level objective"
+ },
+ "maxBackupRetentionDays": {
+ "type": "integer",
+ "description": "Maximum Backup retention in days for the performance tier edition"
+ },
+ "minBackupRetentionDays": {
+ "type": "integer",
+ "description": "Minimum Backup retention in days for the performance tier edition"
+ },
+ "maxStorageMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Max storage allowed for a server."
+ },
+ "minStorageMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Max storage allowed for a server."
+ }
+ },
+ "description": "Service level objectives for performance tier."
+ },
+ "PerformanceTierProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID of the performance tier."
+ },
+ "serviceLevelObjectives": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerformanceTierServiceLevelObjectives"
+ },
+ "description": "Service level objectives associated with the performance tier"
+ }
+ },
+ "description": "Performance tier properties"
+ },
+ "PerformanceTierListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PerformanceTierProperties"
+ },
+ "description": "The list of performance tiers"
+ }
+ },
+ "description": "A list of performance tiers."
+ },
+ "NameAvailabilityRequest": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Resource name to verify."
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type used for verification."
+ }
+ },
+ "description": "Request from client to check resource name availability."
+ },
+ "NameAvailability": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Error Message."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Indicates whether the resource name is available."
+ },
+ "reason": {
+ "type": "string",
+ "description": "Reason for name being unavailable."
+ }
+ },
+ "description": "Represents a resource name availability."
+ },
+ "SecurityAlertPolicyProperties": {
+ "description": "Properties of a security alert policy.",
+ "required": [
+ "state"
+ ],
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Specifies the state of the policy, whether it is enabled or disabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ServerSecurityAlertPolicyState",
+ "modelAsString": false
+ }
+ },
+ "disabledAlerts": {
+ "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "emailAddresses": {
+ "description": "Specifies an array of e-mail addresses to which the alert is sent.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "emailAccountAdmins": {
+ "description": "Specifies that the alert is sent to the account administrators.",
+ "type": "boolean"
+ },
+ "storageEndpoint": {
+ "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.",
+ "type": "string"
+ },
+ "storageAccountAccessKey": {
+ "description": "Specifies the identifier key of the Threat Detection audit storage account.",
+ "type": "string"
+ },
+ "retentionDays": {
+ "format": "int32",
+ "description": "Specifies the number of days to keep in the Threat Detection audit logs.",
+ "type": "integer"
+ }
+ }
+ },
+ "ServerSecurityAlertPolicy": {
+ "description": "A server security alert policy.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecurityAlertPolicyProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The subscription ID that identifies an Azure subscription."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for the request."
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerNameParameter": {
+ "name": "serverName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server.",
+ "x-ms-parameter-location": "method"
+ },
+ "FirewallRuleNameParameter": {
+ "name": "firewallRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "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",
+ "required": true,
+ "type": "string",
+ "description": "The name of the database.",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationNameParameter": {
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the server configuration.",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationNameParameter": {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the location.",
+ "x-ms-parameter-location": "method"
+ },
+ "SecurityAlertPolicyNameParameter": {
+ "name": "securityAlertPolicyName",
+ "in": "path",
+ "description": "The name of the security alert policy.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default"
+ ],
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mariadb/resource-manager/readme.go.md b/specification/mariadb/resource-manager/readme.go.md
index cffb2e5b9082..42ff51dfcfc5 100644
--- a/specification/mariadb/resource-manager/readme.go.md
+++ b/specification/mariadb/resource-manager/readme.go.md
@@ -13,7 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- - tag: package-2018-06-01-preview
+ - tag: package-2018-06-01
```
### Tag: package-2018-06-01-preview and go
@@ -24,3 +24,12 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-06-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-06-01/$(namespace)
+```
diff --git a/specification/mariadb/resource-manager/readme.md b/specification/mariadb/resource-manager/readme.md
index e8389f597f0b..64d14d12090d 100644
--- a/specification/mariadb/resource-manager/readme.md
+++ b/specification/mariadb/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the MariaDB API.
title: MariaDBManagementClient
description: MariaDB Client
openapi-type: arm
-tag: package-2018-06-01-preview
+tag: package-2018-06-01
```
### Tag: package-2018-06-01-preview
@@ -41,6 +41,16 @@ input-file:
```
+### Tag: package-2018-06-01
+
+These settings apply only when `--tag=package-2018-06-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-06-01'
+input-file:
+- Microsoft.DBforMariaDB/stable/2018-06-01/mariadb.json
+```
+
+
---
# Code Generation
@@ -124,18 +134,18 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-mariadb
``` yaml $(java) && $(multiapi)
batch:
- - tag: package-2018-06-01-preview
+ - tag: package-2018-06-01
```
-### Tag: package-2018-06-01-preview and java
+### Tag: package-2018-06-01 and java
-These settings apply only when `--tag=package-2018-06-01-preview --java` is specified on the command line.
+These settings apply only when `--tag=package-2018-06-01 --java` is specified on the command line.
Please also specify `--azure-libraries-for-java-folder=`.
-``` yaml $(tag) == 'package-2018-06-01-preview' && $(java) && $(multiapi)
+``` yaml $(tag) == 'package-2018-06-01' && $(java) && $(multiapi)
java:
- namespace: com.microsoft.azure.management.mariadb.v2018_06_01_preview
- output-folder: $(azure-libraries-for-java-folder)/mariadb/resource-manager/v2018_06_01_preview
+ namespace: com.microsoft.azure.management.mariadb.v2018_06_01
+ output-folder: $(azure-libraries-for-java-folder)/mariadb/resource-manager/v2018_06_01
regenerate-manager: true
generate-interface: true
```
diff --git a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json
index a2644211529e..6d432857774d 100644
--- a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json
+++ b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/Agreements.json
@@ -155,6 +155,156 @@
"nextLinkName": "nextLink"
}
}
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/sign": {
+ "put": {
+ "operationId": "MarketplaceAgreements_Sign",
+ "description": "Sign marketplace terms.",
+ "x-ms-examples": {
+ "SetMarketplaceTerms": {
+ "$ref": "./examples/SignMarketplaceTerms.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PublishersParameter"
+ },
+ {
+ "$ref": "#/parameters/OffersParameter"
+ },
+ {
+ "$ref": "#/parameters/PlansParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request was successfully processed and the terms were accepted.",
+ "schema": {
+ "$ref": "#/definitions/AgreementTerms"
+ }
+ },
+ "default": {
+ "description": "Microsoft.MarketplaceOrdering error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}/cancel": {
+ "put": {
+ "operationId": "MarketplaceAgreements_Cancel",
+ "description": "Cancel marketplace terms.",
+ "x-ms-examples": {
+ "SetMarketplaceTerms": {
+ "$ref": "./examples/CancelMarketplaceTerms.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PublishersParameter"
+ },
+ {
+ "$ref": "#/parameters/OffersParameter"
+ },
+ {
+ "$ref": "#/parameters/PlansParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request was successfully processed and the terms were rejected.",
+ "schema": {
+ "$ref": "#/definitions/AgreementTerms"
+ }
+ },
+ "default": {
+ "description": "Microsoft.MarketplaceOrdering error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements/{publisherId}/offers/{offerId}/plans/{planId}": {
+ "get": {
+ "operationId": "MarketplaceAgreements_GetAgreement",
+ "description": "Get marketplace agreement.",
+ "x-ms-examples": {
+ "SetMarketplaceTerms": {
+ "$ref": "./examples/GetAgreementMarketplaceTerms.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PublishersParameter"
+ },
+ {
+ "$ref": "#/parameters/OffersParameter"
+ },
+ {
+ "$ref": "#/parameters/PlansParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Terms returned successfully",
+ "schema": {
+ "$ref": "#/definitions/AgreementTerms"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MarketplaceOrdering/agreements": {
+ "get": {
+ "operationId": "MarketplaceAgreements_List",
+ "description": "List marketplace agreements in the subscription.",
+ "x-ms-examples": {
+ "SetMarketplaceTerms": {
+ "$ref": "./examples/ListMarketplaceTerms.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Terms returned successfully",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgreementTerms"
+ }
+ }
+ }
+ }
+ }
}
},
"parameters": {
@@ -353,4 +503,4 @@
"x-ms-azure-resource": true
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/CancelMarketplaceTerms.json b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/CancelMarketplaceTerms.json
new file mode 100644
index 000000000000..ac515ee654e9
--- /dev/null
+++ b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/CancelMarketplaceTerms.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2016-04-01",
+ "subscriptionId": "subid",
+ "publisherId": "pubid",
+ "offerId": "offid",
+ "planId": "planid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "id",
+ "name": "planid",
+ "type": "Microsoft.MarketplaceOrdering/offertypes",
+ "properties": {
+ "publisher": "pubid",
+ "product": "offid",
+ "plan": "planid",
+ "licenseTextLink": "test.licenseLink",
+ "privacyPolicyLink": "test.privacyPolicyLink",
+ "retrieveDatetime": "2017-08-15T11:33:07.12132Z",
+ "signature": "ASDFSDAFWEFASDGWERLWER",
+ "accepted": false
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/GetAgreementMarketplaceTerms.json b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/GetAgreementMarketplaceTerms.json
new file mode 100644
index 000000000000..792ac83dec9d
--- /dev/null
+++ b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/GetAgreementMarketplaceTerms.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2016-04-01",
+ "subscriptionId": "subid",
+ "publisherId": "pubid",
+ "offerId": "offid",
+ "planId": "planid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "id",
+ "name": "planid",
+ "type": "Microsoft.MarketplaceOrdering/offertypes",
+ "properties": {
+ "publisher": "pubid",
+ "product": "offid",
+ "plan": "planid",
+ "licenseTextLink": "test.licenseLink",
+ "privacyPolicyLink": "test.privacyPolicyLink",
+ "retrieveDatetime": "2017-08-15T11:33:07.12132Z",
+ "signature": "ASDFSDAFWEFASDGWERLWER",
+ "accepted": true
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/ListMarketplaceTerms.json b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/ListMarketplaceTerms.json
new file mode 100644
index 000000000000..c6ce18a57e3a
--- /dev/null
+++ b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/ListMarketplaceTerms.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2016-04-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [{
+ "id": "id",
+ "name": "planid",
+ "type": "Microsoft.MarketplaceOrdering/offertypes",
+ "properties": {
+ "publisher": "pubid",
+ "product": "offid",
+ "plan": "planid",
+ "licenseTextLink": "test.licenseLink",
+ "privacyPolicyLink": "test.privacyPolicyLink",
+ "retrieveDatetime": "2017-08-15T11:33:07.12132Z",
+ "signature": "ASDFSDAFWEFASDGWERLWER",
+ "accepted": true
+ }
+ }]
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/SignMarketplaceTerms.json b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/SignMarketplaceTerms.json
new file mode 100644
index 000000000000..792ac83dec9d
--- /dev/null
+++ b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2015-06-01/examples/SignMarketplaceTerms.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2016-04-01",
+ "subscriptionId": "subid",
+ "publisherId": "pubid",
+ "offerId": "offid",
+ "planId": "planid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "id",
+ "name": "planid",
+ "type": "Microsoft.MarketplaceOrdering/offertypes",
+ "properties": {
+ "publisher": "pubid",
+ "product": "offid",
+ "plan": "planid",
+ "licenseTextLink": "test.licenseLink",
+ "privacyPolicyLink": "test.privacyPolicyLink",
+ "retrieveDatetime": "2017-08-15T11:33:07.12132Z",
+ "signature": "ASDFSDAFWEFASDGWERLWER",
+ "accepted": true
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/CheckLocalNameAvailability.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/CheckLocalNameAvailability.json
new file mode 100644
index 000000000000..a5f1f33fd3e4
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/CheckLocalNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location" : "Global",
+ "checkNameAvailability": {
+ "name" : "alpha",
+ "type" : "SpatialAnchorsAccount"
+ },
+ "api-version": "2019-02-28-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": "false",
+ "reason" : "AlreadyExists",
+ "message" : "..."
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/GetOperationList.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/GetOperationList.json
new file mode 100644
index 000000000000..b110404cd393
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/GetOperationList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2019-02-28-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.MixedReality/register/action",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "Mixed Reality resource provider",
+ "operation": "Registers the Mixed Reality resource provider",
+ "description": "Registers a subscription for the Mixed Reality resource provider."
+ }
+ },
+ {
+ "name": "Microsoft.MixedReality/SpatialAnchorsAccounts/delete",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "SpatialAnchorsAccounts",
+ "operation": "Delete Spatial Anchors Accounts",
+ "description": "Deletes the resource for Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ },
+ {
+ "name": "Microsoft.MixedReality/SpatialAnchorsAccounts/read",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "SpatialAnchorsAccounts",
+ "operation": "Get Spatial Anchors Accounts",
+ "description": "Gets the resource for Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ },
+ {
+ "name": "Microsoft.MixedReality/SpatialAnchorsAccounts/write",
+ "display": {
+ "provider": "Microsoft.MixedReality",
+ "resource": "SpatialAnchorsAccounts",
+ "operation": "Update Spatial Anchors Accounts",
+ "description": "Updates the resource for Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ }
+ ],
+ "nextLink" : null
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Delete.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Delete.json
new file mode 100644
index 000000000000..5358d047394d
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "mrsecf",
+ "resourceType": "SpatialAnchorsAccount",
+ "spatialAnchorsAccountName": "alpha",
+ "api-version": "2019-02-28-preview"
+ },
+ "responses": {
+ "200": {
+ },
+ "204": {
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Get.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Get.json
new file mode 100644
index 000000000000..45d9538d596f
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "mrsecf",
+ "resourceType": "SpatialAnchorsAccount",
+ "spatialAnchorsAccountName": "alpha",
+ "api-version": "2019-02-28-preview"
+ },
+ "responses": {
+ "200": {
+ "body":{
+ "properties":
+ {
+ "accountId": "5007a881-6fb4-4c93-be52-942e355944a5",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "Global",
+ "id": "/subscriptions/8f8a44e1-1711-4fc4-ae53-8bcc11fc7c3c/resourceGroups/xiangyul/providers/Microsoft.MixedReality/SpatialAnchorsAccounts/alpha",
+ "name": "alpha",
+ "type": "Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/GetByResourceGroup.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/GetByResourceGroup.json
new file mode 100644
index 000000000000..d72b2a249099
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/GetByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "mrsecf",
+ "resourceType": "SpatialAnchorsAccount",
+ "api-version": "2019-02-28-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties":
+ {
+ "accountId": "5007a881-6fb4-4c93-be52-942e355944a5",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {
+
+ },
+ "location": "Global",
+ "id": "/subscriptions/8f8a44e1-1711-4fc4-ae53-8bcc11fc7c3c/resourceGroups/xiangyul/providers/Microsoft.MixedReality/SpatialAnchorsAccounts/alpha",
+ "name": "alpha",
+ "type": "Microsoft.MixedReality/SpatialAnchorsAccounts"
+ },
+ {
+ "properties":
+ {
+ "accountId": "5007a881-6fb4-4c93-be52-942e355944a5",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {
+
+ },
+ "location": "Global",
+ "id": "/subscriptions/8f8a44e1-1711-4fc4-ae53-8bcc11fc7c3c/resourceGroups/xiangyul/providers/Microsoft.MixedReality/SpatialAnchorsAccounts/omega",
+ "name": "omega",
+ "type": "Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ ],
+ "nextLink" : "https://aka.ms/&^FDKKAR"
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/GetBySubscription.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/GetBySubscription.json
new file mode 100644
index 000000000000..3ea42319137a
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/GetBySubscription.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceType": "SpatialAnchorsAccount",
+ "api-version": "2019-02-28-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties":
+ {
+ "accountId": "5007a881-6fb4-4c93-be52-942e355944a5",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {
+
+ },
+ "location": "Global",
+ "id": "/subscriptions/8f8a44e1-1711-4fc4-ae53-8bcc11fc7c3c/resourceGroups/xiangyul/providers/Microsoft.MixedReality/SpatialAnchorsAccounts/alpha",
+ "name": "alpha",
+ "type": "Microsoft.MixedReality/SpatialAnchorsAccounts"
+ },
+ {
+ "properties":
+ {
+ "accountId": "5007a881-6fb4-4c93-be52-942e355944a5",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {
+
+ },
+ "location": "Global",
+ "id": "/subscriptions/8f8a44e1-1711-4fc4-ae53-8bcc11fc7c3c/resourceGroups/xiangyul/providers/Microsoft.MixedReality/SpatialAnchorsAccounts/omega",
+ "name": "omega",
+ "type": "Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ ],
+ "nextLink" : "https://aka.ms/&^FDKKAR"
+ }
+ }
+ }
+}
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/GetKeys.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/GetKeys.json
new file mode 100644
index 000000000000..169223d4759e
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/GetKeys.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "mrsecf",
+ "resourceType": "SpatialAnchorsAccount",
+ "spatialAnchorsAccountName": "alpha",
+ "api-version": "2019-02-28-preview"
+ },
+ "responses": {
+ "200": {
+ "body":{
+ "primaryKey": "vMAlcI/j25TwDs8hjTorto3JQkoiqZAXKsFq0rYnSNc=",
+ "secondaryKey": "N4umIGhJt8LgnMMMBpwFOxVOS9zpxHxSHy1TJhN3hU4="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Patch.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Patch.json
new file mode 100644
index 000000000000..783e3da419ac
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Patch.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "mrsecf",
+ "resourceType": "SpatialAnchorsAccount",
+ "spatialAnchorsAccountName": "alpha",
+ "api-version": "2019-02-28-preview",
+ "spatialAnchorsAccount": {
+ "Tags": {
+ "heroine": "juliet",
+ "hero": "romeo"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body":{
+ "properties":
+ {
+ "accountId": "5007a881-6fb4-4c93-be52-942e355944a5",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {
+ "heroine": "juliet",
+ "hero": "romeo"
+ },
+ "location": "Global",
+ "id": "/subscriptions/8f8a44e1-1711-4fc4-ae53-8bcc11fc7c3c/resourceGroups/xiangyul/providers/Microsoft.MixedReality/SpatialAnchorsAccounts/alpha",
+ "name": "alpha",
+ "type": "Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Put.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Put.json
new file mode 100644
index 000000000000..833a3047a8d4
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/Put.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "mrsecf",
+ "resourceType": "SpatialAnchorsAccount",
+ "spatialAnchorsAccountName": "alpha",
+ "api-version": "2019-02-28-preview",
+ "spatialAnchorsAccount": {
+ "location": "Global"
+ }
+ },
+ "responses": {
+ "201": {
+ "body":{
+ "properties":
+ {
+ "accountId": "5007a881-6fb4-4c93-be52-942e355944a5",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "Global",
+ "id": "/subscriptions/8f8a44e1-1711-4fc4-ae53-8bcc11fc7c3c/resourceGroups/xiangyul/providers/Microsoft.MixedReality/SpatialAnchorsAccounts/alpha",
+ "name": "alpha",
+ "type": "Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ },
+ "200": {
+ "body":{
+ "properties":
+ {
+ "accountId": "5007a881-6fb4-4c93-be52-942e355944a5",
+ "accountDomain": "mixedreality.azure.com"
+ },
+ "tags": {},
+ "location": "Global",
+ "id": "/subscriptions/8f8a44e1-1711-4fc4-ae53-8bcc11fc7c3c/resourceGroups/xiangyul/providers/Microsoft.MixedReality/SpatialAnchorsAccounts/alpha",
+ "name": "alpha",
+ "type": "Microsoft.MixedReality/SpatialAnchorsAccounts"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/RegenerateKey.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/RegenerateKey.json
new file mode 100644
index 000000000000..7821d459c4c7
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/examples/SpatialAnchorsAccount/RegenerateKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "resourceGroupName": "mrsecf",
+ "resourceType": "SpatialAnchorsAccount",
+ "spatialAnchorsAccountName": "alpha",
+ "api-version": "2019-02-28-preview",
+ "spatialAnchorsAccountKeyRegenerate": {
+ "serial": 1
+ }
+ },
+ "responses": {
+ "200": {
+ "body":{
+ "primaryKey": "vMAlcI/j25TwDs8hjTorto3JQkoiqZAXKsFq0rYnSNc=",
+ "secondaryKey": "N4umIGhJt8LgnMMMBpwFOxVOS9zpxHxSHy1TJhN3hU4="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/mixedreality.json b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/mixedreality.json
new file mode 100644
index 000000000000..2e3f1b9d953a
--- /dev/null
+++ b/specification/mixedreality/resource-manager/Microsoft.MixedReality/preview/2019-02-28-preview/mixedreality.json
@@ -0,0 +1,731 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Mixed Reality",
+ "description": "Mixed Reality Resource Provider REST API",
+ "version": "2019-02-28-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" : {
+ "/providers/Microsoft.MixedReality/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "tags": [
+ "Proxy"
+ ],
+ "description": "Exposing Available Operations",
+ "x-ms-examples": {
+ "OperationList": { "$ref": "./examples/GetOperationList.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": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MixedReality/locations/{location}/checkNameAvailability": {
+ "post": {
+ "operationId": "CheckNameAvailabilityLocal",
+ "tags": [
+ "Proxy"
+ ],
+ "description": "Check Name Availability for global uniqueness",
+ "x-ms-examples": {
+ "CheckLocalNameAvailability": { "$ref": "./examples/CheckLocalNameAvailability.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/parameters/checkNameAvailabilityParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MixedReality/spatialAnchorsAccounts" : {
+ "get": {
+ "operationId": "SpatialAnchorsAccounts_ListBySubscription",
+ "tags": [
+ "Resource", "Proxy"
+ ],
+ "description": "List Spatial Anchors Accounts by Subscription",
+ "x-ms-examples": {
+ "SpatialAnchorsAccountListBySubscription": { "$ref": "./examples/SpatialAnchorsAccount/GetBySubscription.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/spatialAnchorsAccounts" : {
+ "get": {
+ "operationId": "SpatialAnchorsAccounts_ListByResourceGroup",
+ "tags": [
+ "Resource"
+ ],
+ "description": "List Resources by Resource Group",
+ "x-ms-examples": {
+ "ResourceGet": { "$ref": "./examples/SpatialAnchorsAccount/GetByResourceGroup.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/spatialAnchorsAccounts/{spatialAnchorsAccountName}" : {
+ "delete": {
+ "operationId": "SpatialAnchorsAccounts_Delete",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Delete a Spatial Anchors Account.",
+ "x-ms-examples": {
+ "ResourceDelete": { "$ref": "./examples/SpatialAnchorsAccount/Delete.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "SpatialAnchorsAccounts_Get",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Retrieve a Spatial Anchors Account.",
+ "x-ms-examples": {
+ "ResourceGet": { "$ref": "./examples/SpatialAnchorsAccount/Get.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "SpatialAnchorsAccounts_Update",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Updating a Spatial Anchors Account",
+ "x-ms-examples": {
+ "ResourceCreateOrUpdate": { "$ref": "./examples/SpatialAnchorsAccount/Patch.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SpatialAnchorsAccounts_Create",
+ "tags": [
+ "Resource"
+ ],
+ "description": "Creating or Updating a Spatial Anchors Account.",
+ "x-ms-examples": {
+ "ResourceCreate": { "$ref": "./examples/SpatialAnchorsAccount/Put.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MixedReality/spatialAnchorsAccounts/{spatialAnchorsAccountName}/keys" : {
+ "get": {
+ "operationId": "SpatialAnchorsAccounts_GetKeys",
+ "tags": [
+ "Key"
+ ],
+ "description": "Get Both of the 2 Keys of a Spatial Anchors Account",
+ "x-ms-examples": {
+ "ResourceRegenerateKey": { "$ref": "./examples/SpatialAnchorsAccount/GetKeys.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "post": {
+ "operationId": "SpatialAnchorsAccounts_RegenerateKeys",
+ "tags": [
+ "Key"
+ ],
+ "description": "Regenerate 1 Key of a Spatial Anchors Account",
+ "x-ms-examples": {
+ "ResourceRegenerateKey": { "$ref": "./examples/SpatialAnchorsAccount/RegenerateKey.json" }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/spatialAnchorsAccountKeyRegenerateParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccountKeys"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions" : {
+ "CheckNameAvailabilityRequest" : {
+ "description": "Check Name Availability Request",
+ "type": "object",
+ "required" : ["name", "type"],
+ "properties": {
+ "name": {
+ "description": "Resource Name To Verify",
+ "type": "string"
+ },
+ "type": {
+ "description": "Fully qualified resource type which includes provider namespace",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityResponse" : {
+ "description": "Check Name Availability Response",
+ "type": "object",
+ "required" : ["nameAvailable"],
+ "properties": {
+ "nameAvailable": {
+ "description": "if name Available",
+ "$ref" : "#/definitions/NameAvailability"
+ },
+ "reason": {
+ "description": "Resource Name To Verify",
+ "$ref" : "#/definitions/NameUnavailableReason"
+ },
+ "message": {
+ "description": "detail message",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Response on Error",
+ "type": "object",
+ "required" : ["message", "code"],
+ "properties": {
+ "message": {
+ "description": "Describes the error in detail and provides debugging information",
+ "type": "string"
+ },
+ "code": {
+ "description": "String that can be used to programmatically identify the error.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The target of the particular error",
+ "type": "string"
+ },
+ "details": {
+ "description": "An array of JSON objects that MUST contain name/value pairs for code and message, and MAY contain a name/value pair for target, as described above.The contents of this section are service-defined but must adhere to the aforementioned schema.",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "$ref": "#/definitions/OperationDisplay"
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "required" : ["provider", "resource", "operation", "description"],
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.ResourceProvider",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: Profile, endpoint, etc.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of operation",
+ "type": "string"
+ }
+ }
+ },
+ "NameAvailability": {
+ "description": "Whether or not the name is available.",
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailability",
+ "modelAsString": true
+ }
+ },
+ "NameUnavailableReason": {
+ "description": "reason of name unavailable.",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "NameUnavailableReason",
+ "modelAsString": true
+ }
+ },
+ "OperationList": {
+ "description": "Result of the request to list Resource Provider 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 operations supported by the Resource Provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "SpatialAnchorsAccount" : {
+ "allOf" : [{ "$ref" : "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"}],
+ "description": "SpatialAnchorsAccount Response.",
+ "type": "object",
+ "properties" :{
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Property bag.",
+ "$ref": "#/definitions/SpatialAnchorsAccountProperties"
+ }
+ }
+ },
+ "SpatialAnchorsAccountKeys" : {
+ "description": "Spatial Anchors Account Keys",
+ "type": "object",
+ "properties": {
+ "primaryKey" : {
+ "description": "value of primary key.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "secondaryKey" : {
+ "description": "value of secondary key.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "SpatialAnchorsAccountKeyRegenerateRequest" : {
+ "description": "Spatial Anchors Account Regenerate Key",
+ "type": "object",
+ "properties": {
+ "serial" : {
+ "type" : "integer",
+ "enum": [1, 2],
+ "default" : 1,
+ "x-ms-enum" : {
+ "name" : "Serial",
+ "values" : [
+ {"value": 1, "description": "The Primary Key", "name": "Primary"},
+ {"value": 2, "description": "The Secondary Key", "name": "Secondary"}
+ ]
+ },
+ "description": "serial of key to be regenerated"
+ }
+ }
+ },
+ "SpatialAnchorsAccountProperties": {
+ "description": "Spatial Anchors Account Customize Properties",
+ "type": "object",
+ "properties": {
+ "accountId": {
+ "description": "unique id of certain Spatial Anchors Account data contract.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "accountDomain": {
+ "description": "Correspond domain name of certain Spatial Anchors Account",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "SpatialAnchorsAccountList": {
+ "description": "Result of the request to get resource collection. It contains a list of resources and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ },
+ "description": "List of resources supported by the Resource Provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of resource list results if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "description": "Version of the API to be used with the client request.",
+ "in": "query",
+ "required": true,
+ "type": "string"
+ },
+ "checkNameAvailabilityParameter" : {
+ "name": "checkNameAvailability",
+ "description": "Check Name Availability Request.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequest"
+ },
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "The location in which uniqueness will be verified."
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of an Azure resource group."
+ },
+ "spatialAnchorsAccountKeyRegenerateParameter": {
+ "name": "spatialAnchorsAccountKeyRegenerate",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccountKeyRegenerateRequest"
+ },
+ "x-ms-parameter-location": "method",
+ "description": "Specifying which key to be regenerated."
+ },
+ "spatialAnchorsAccountNameParameter": {
+ "name": "spatialAnchorsAccountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of an Mixed Reality Spatial Anchors Account."
+ },
+ "spatialAnchorsAccountParameter": {
+ "name": "spatialAnchorsAccount",
+ "description": "Spatial Anchors Account parameter.",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/SpatialAnchorsAccount"
+ },
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "description": "Azure subscription ID.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/mixedreality/resource-manager/readme.go.md b/specification/mixedreality/resource-manager/readme.go.md
new file mode 100644
index 000000000000..0bbc755d27b0
--- /dev/null
+++ b/specification/mixedreality/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: mixedreality
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2019-02-preview
+```
+
+### Tag: package-2019-02-preview and go
+
+These settings apply only when `--tag=package-2019-02-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-02-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2019-02-28/$(namespace)
+```
diff --git a/specification/mixedreality/resource-manager/readme.md b/specification/mixedreality/resource-manager/readme.md
new file mode 100644
index 000000000000..b7590f5aabc9
--- /dev/null
+++ b/specification/mixedreality/resource-manager/readme.md
@@ -0,0 +1,100 @@
+# Mixed-Reality
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Mixed-Reality Azure Resource Management.
+
+---
+## Getting Started
+To build the SDK for Azure Resource 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 Mixed Reality Azure Resource Management Client.
+
+``` yaml
+title: MixedRealityClient
+description: Mixed Reality Client
+openapi-type: arm
+tag: package-2019-02-preview
+```
+
+### Tag: package-2019-02-preview
+
+These settings apply only when `--tag=package-2019-02-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-02-preview'
+input-file:
+- Microsoft.MixedReality/preview/2019-02-28-preview/mixedreality.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-js
+ - 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
+ payload-flattening-threshold: 1
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.MixedReality
+ output-folder: $(csharp-sdks-folder)/MixedReality/Management.MixedReality/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.mixedreality
+ package-name: azure-mgmt-mixedreality
+ package-version: 0.0.1
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-mixedreality/azure/mgmt/mixedreality
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-mixedreality
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
diff --git a/specification/mixedreality/resource-manager/readme.typescript.md b/specification/mixedreality/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..f6935c2a492e
--- /dev/null
+++ b/specification/mixedreality/resource-manager/readme.typescript.md
@@ -0,0 +1,12 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-mixedreality"
+ output-folder: "$(typescript-sdks-folder)/packages/@azure/arm-mixedreality"
+ generate-metadata: true
+```
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/activityLogAlerts_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/activityLogAlerts_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/activityLogAlerts_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/activityLogAlerts_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/createOrUpdateActivityLogAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/createOrUpdateActivityLogAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/createOrUpdateActivityLogAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/createOrUpdateActivityLogAlert.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/deleteActivityLogAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/deleteActivityLogAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/deleteActivityLogAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/deleteActivityLogAlert.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/getActivityLogAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/getActivityLogAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/getActivityLogAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/getActivityLogAlert.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/listActivityLogAlerts.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/listActivityLogAlerts.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/listActivityLogAlerts.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/listActivityLogAlerts.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/patchActivityLogAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/patchActivityLogAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-03-01-preview/examples/patchActivityLogAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-03-01-preview/examples/patchActivityLogAlert.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/diagnosticsSettings_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/diagnosticsSettings_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/GetMetric.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/GetMetric.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/GetMetric.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/GetMetric.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/GetMetricDefinitions.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/GetMetricDefinitions.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/GetMetricDefinitions.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/GetMetricDefinitions.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/GetMetricMetadata.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/GetMetricMetadata.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/GetMetricMetadata.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/GetMetricMetadata.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/createOrUpdateDiagnosticSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/createOrUpdateDiagnosticSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/createOrUpdateDiagnosticSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/createOrUpdateDiagnosticSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/deleteDiagnosticSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/deleteDiagnosticSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/deleteDiagnosticSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/deleteDiagnosticSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/getDiagnosticSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/getDiagnosticSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/getDiagnosticSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/getDiagnosticSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/getDiagnosticSettingsCategory.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/getDiagnosticSettingsCategory.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/getDiagnosticSettingsCategory.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/getDiagnosticSettingsCategory.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/listDiagnosticSettings.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/listDiagnosticSettings.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/listDiagnosticSettings.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/listDiagnosticSettings.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/listDiagnosticSettingsCategories.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/listDiagnosticSettingsCategories.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/examples/listDiagnosticSettingsCategories.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/examples/listDiagnosticSettingsCategories.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/metricDefinitions_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/metricDefinitions_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/metrics_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-05-01-preview/metrics_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/baseline_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/baseline_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/calculateBaseline_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/calculateBaseline_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/examples/CalculateBaseline.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/CalculateBaseline.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/examples/CalculateBaseline.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/CalculateBaseline.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/examples/GetBaseline.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaseline.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/examples/GetBaseline.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaseline.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/examples/GetBaselineMetadata.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaselineMetadata.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-11-01-preview/examples/GetBaselineMetadata.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaselineMetadata.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-12-01-preview/examples/GetMetricNamespaces.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-12-01-preview/examples/GetMetricNamespaces.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-12-01-preview/examples/GetMetricNamespaces.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-12-01-preview/examples/GetMetricNamespaces.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2017-12-01-preview/metricNamespaces_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2017-12-01-preview/metricNamespaces_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/createOrUpdateGuestDiagnosticSettings.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/createOrUpdateGuestDiagnosticSettings.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/createOrUpdateGuestDiagnosticSettings.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/createOrUpdateGuestDiagnosticSettings.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/createOrUpdateGuestDiagnosticSettingsAssociation.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/createOrUpdateGuestDiagnosticSettingsAssociation.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/createOrUpdateGuestDiagnosticSettingsAssociation.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/createOrUpdateGuestDiagnosticSettingsAssociation.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/deleteGuestDiagnosticSettingsAssociation.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/deleteGuestDiagnosticSettingsAssociation.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/deleteGuestDiagnosticSettingsAssociation.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/deleteGuestDiagnosticSettingsAssociation.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/getGuestDiagnosticSettings.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/getGuestDiagnosticSettings.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/getGuestDiagnosticSettings.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/getGuestDiagnosticSettings.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/getGuestDiagnosticSettingsAssociation.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/getGuestDiagnosticSettingsAssociation.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/getGuestDiagnosticSettingsAssociation.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/getGuestDiagnosticSettingsAssociation.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/updateGuestDiagnosticSettingsAssociation.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/updateGuestDiagnosticSettingsAssociation.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/examples/updateGuestDiagnosticSettingsAssociation.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/examples/updateGuestDiagnosticSettingsAssociation.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/guestDiagnosticSettingsAssociation_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettingsAssociation_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/guestDiagnosticSettingsAssociation_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettingsAssociation_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/guestDiagnosticSettings_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettings_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/preview/2018-06-01-preview/guestDiagnosticSettings_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/preview/2018-06-01-preview/guestDiagnosticSettings_API.json
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusResourceGroup.json
new file mode 100644
index 000000000000..3500766bd62a
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusResourceGroup.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/resource-group-with-vms",
+ "api-version": "2018-11-27-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "resourceId": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/resource-group-with-vms",
+ "onboardingStatus": "onboarded",
+ "dataStatus": "present",
+ "data": [
+ {
+ "workspace": {
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourcegroups/monitoring/providers/microsoft.operationalinsights/workspaces/vm-monitoring",
+ "location": "eastus",
+ "properties": {
+ "customerId": "c7f8f44d-d8ee-4b79-9d9a-4d8a1f2a112a"
+ }
+ }
+ }
+ ]
+ },
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/resource-group-with-vms/providers/Microsoft.Insights/vmInsightsOnboardingStatuses/default",
+ "type": "Microsoft.Insights/vmInsightsOnboardingStatuses",
+ "name": "default"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusSingleVM.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusSingleVM.json
new file mode 100644
index 000000000000..8fb2b0190191
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusSingleVM.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/vm-resource-group/providers/Microsoft.Compute/virtualMachines/ubuntu-vm",
+ "api-version": "2018-11-27-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "resourceId": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/vm-resource-group/providers/Microsoft.Compute/virtualMachines/ubuntu-vm",
+ "onboardingStatus": "onboarded",
+ "dataStatus": "present",
+ "data": [
+ {
+ "workspace": {
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourcegroups/monitoring/providers/microsoft.operationalinsights/workspaces/vm-monitoring",
+ "location": "eastus",
+ "properties": {
+ "customerId": "c7f8f44d-d8ee-4b79-9d9a-4d8a1f2a112a"
+ }
+ }
+ }
+ ]
+ },
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/vm-resource-group/providers/Microsoft.Compute/virtualMachines/ubuntu-vm/providers/Microsoft.Insights/vmInsightsOnboardingStatuses/default",
+ "type": "Microsoft.Insights/vmInsightsOnboardingStatuses",
+ "name": "default"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusSingleVMUnknown.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusSingleVMUnknown.json
new file mode 100644
index 000000000000..41d1f25fdf8d
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusSingleVMUnknown.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/vm-resource-group/providers/Microsoft.Compute/virtualMachines/ubuntu-vm",
+ "api-version": "2018-11-27-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "resourceId": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/vm-resource-group/providers/Microsoft.Compute/virtualMachines/ubuntu-vm",
+ "onboardingStatus": "unknown",
+ "dataStatus": "notPresent",
+ "data": []
+ },
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/vm-resource-group/providers/Microsoft.Compute/virtualMachines/ubuntu-vm/providers/Microsoft.Insights/vmInsightsOnboardingStatuses/default",
+ "type": "Microsoft.Insights/vmInsightsOnboardingStatuses",
+ "name": "default"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusSubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusSubscription.json
new file mode 100644
index 000000000000..57eb902d9b23
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusSubscription.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87",
+ "api-version": "2018-11-27-preview"
+ },
+ "responses": {
+ "200": {
+ "properties": {
+ "resourceId": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87",
+ "onboardingStatus": "onboarded",
+ "dataStatus": "present",
+ "data": [
+ {
+ "workspace": {
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourcegroups/monitoring/providers/microsoft.operationalinsights/workspaces/vm-monitoring-secondary",
+ "location": "eastus",
+ "properties": {
+ "customerId": "f096d163-206e-4abf-9db3-2c62af003d68"
+ }
+ }
+ },
+ {
+ "workspace": {
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourcegroups/monitoring/providers/microsoft.operationalinsights/workspaces/vm-monitoring",
+ "location": "eastus",
+ "properties": {
+ "customerId": "c7f8f44d-d8ee-4b79-9d9a-4d8a1f2a112a"
+ }
+ }
+ }
+ ]
+ },
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/providers/Microsoft.Insights/vmInsightsOnboardingStatuses/default",
+ "type": "Microsoft.Insights/vmInsightsOnboardingStatuses",
+ "name": "default"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusVMScaleSet.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusVMScaleSet.json
new file mode 100644
index 000000000000..be3a9a8d3a61
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/examples/getOnboardingStatusVMScaleSet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/my-service-cluster/providers/Microsoft.Compute/virtualMachineScaleSets/scale-set-01",
+ "api-version": "2018-11-27-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "properties": {
+ "resourceId": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/my-service-cluster/providers/Microsoft.Compute/virtualMachineScaleSets/scale-set-01",
+ "onboardingStatus": "onboarded",
+ "dataStatus": "present",
+ "data": [
+ {
+ "workspace": {
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourcegroups/monitoring/providers/microsoft.operationalinsights/workspaces/vm-monitoring",
+ "location": "eastus",
+ "properties": {
+ "customerId": "c7f8f44d-d8ee-4b79-9d9a-4d8a1f2a112a"
+ }
+ }
+ }
+ ]
+ },
+ "id": "/subscriptions/3d51de47-8d1c-4d24-b42f-bcae075dfa87/resourceGroups/my-service-cluster/providers/Microsoft.Compute/virtualMachineScaleSets/scale-set-01/providers/Microsoft.Insights/vmInsightsOnboardingStatuses/default",
+ "type": "Microsoft.Insights/vmInsightsOnboardingStatuses",
+ "name": "default"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json
new file mode 100644
index 000000000000..b6385a6437bd
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json
@@ -0,0 +1,260 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "VM Insights Onboarding API",
+ "description": "API to manage VM Insights Onboarding",
+ "x-ms-code-generation-settings": {
+ "name": "MonitorManagementClient"
+ },
+ "version": "2018-11-27-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": {
+ "/{resourceUri}/providers/Microsoft.Insights/vmInsightsOnboardingStatuses/default": {
+ "get": {
+ "tags": [
+ "VM Insights Onboarding"
+ ],
+ "operationId": "VMInsights_GetOnboardingStatus",
+ "description": "Retrieves the VM Insights onboarding status for the specified resource or resource scope.",
+ "x-ms-examples": {
+ "Get status for a VM that has not yet reported data": {
+ "$ref": "./examples/getOnboardingStatusSingleVMUnknown.json"
+ },
+ "Get status for a VM that is actively reporting data": {
+ "$ref": "./examples/getOnboardingStatusSingleVM.json"
+ },
+ "Get status for a VM scale set that is actively reporting data": {
+ "$ref": "./examples/getOnboardingStatusVMScaleSet.json"
+ },
+ "Get status for a resource group that has at least one VM that is actively reporting data": {
+ "$ref": "./examples/getOnboardingStatusResourceGroup.json"
+ },
+ "Get status for a subscription that has at least one VM that is actively reporting data": {
+ "$ref": "./examples/getOnboardingStatusSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified Azure Resource manager identifier of the resource, or scope, whose status to retrieve.",
+ "x-ms-skip-url-encoding": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/VMInsightsOnboardingStatus"
+ }
+ },
+ "default": {
+ "description": "An error occurred while processing the request. See the error.code parameter to identify the specific error.",
+ "schema": {
+ "$ref": "#/definitions/ResponseWithError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ProxyResource": {
+ "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"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "ResponseWithError": {
+ "type": "object",
+ "description": "An error response from the API.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error",
+ "description": "Error information."
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "Error": {
+ "type": "object",
+ "description": "Error details.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code identifying the specific error."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message in the caller's locale."
+ }
+ },
+ "required": [
+ "code"
+ ]
+ },
+ "WorkspaceInfo": {
+ "type": "object",
+ "description": "Information about a Log Analytics Workspace.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Azure Resource Manager identifier of the Log Analytics Workspace."
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the Log Analytics workspace."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "description": "Resource properties.",
+ "properties": {
+ "customerId": {
+ "type": "string",
+ "description": "Log Analytics workspace identifier."
+ }
+ },
+ "required": [
+ "customerId"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "location",
+ "properties"
+ ]
+ },
+ "DataContainer": {
+ "type": "object",
+ "description": "Information about a container with data for a given resource.",
+ "properties": {
+ "workspace": {
+ "$ref": "#/definitions/WorkspaceInfo",
+ "description": "Log Analytics workspace information."
+ }
+ },
+ "required": [
+ "workspace"
+ ]
+ },
+ "VMInsightsOnboardingStatus": {
+ "description": "VM Insights onboarding status for a resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "description": "Resource properties.",
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "Azure Resource Manager identifier of the resource whose onboarding status is being represented."
+ },
+ "onboardingStatus": {
+ "type": "string",
+ "enum": [
+ "onboarded",
+ "notOnboarded",
+ "unknown"
+ ],
+ "x-ms-enum": {
+ "name": "OnboardingStatus",
+ "modelAsString": true
+ },
+ "description": "The onboarding status for the resource. Note that, a higher level scope, e.g., resource group or subscription, is considered onboarded if at least one resource under it is onboarded."
+ },
+ "dataStatus": {
+ "type": "string",
+ "enum": [
+ "present",
+ "notPresent"
+ ],
+ "x-ms-enum": {
+ "name": "DataStatus",
+ "modelAsString": true
+ },
+ "description": "The status of VM Insights data from the resource. When reported as `present` the data array will contain information about the data containers to which data for the specified resource is being routed."
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataContainer"
+ },
+ "description": "Containers that currently store VM Insights data for the specified resource."
+ }
+ },
+ "required": [
+ "resourceId",
+ "onboardingStatus",
+ "dataStatus"
+ ]
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "API version."
+ }
+ }
+ }
\ No newline at end of file
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/activityLogs_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/activityLogs_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/autoscale_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/autoscale_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/eventCategories_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/eventCategories_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetActivityLogsFiltered.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetActivityLogsFiltered.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetActivityLogsFiltered.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetActivityLogsFiltered.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetActivityLogsFilteredAndSelected.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetActivityLogsFilteredAndSelected.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetActivityLogsFilteredAndSelected.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetActivityLogsFilteredAndSelected.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetActivityLogsNoParams.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetActivityLogsNoParams.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetActivityLogsNoParams.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetActivityLogsNoParams.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetActivityLogsSelected.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetActivityLogsSelected.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetActivityLogsSelected.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetActivityLogsSelected.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetEventCategories.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetEventCategories.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetEventCategories.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetEventCategories.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetTenantActivityLogsFiltered.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetTenantActivityLogsFiltered.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetTenantActivityLogsFiltered.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetTenantActivityLogsFiltered.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetTenantActivityLogsFilteredAndSelected.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetTenantActivityLogsFilteredAndSelected.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetTenantActivityLogsFilteredAndSelected.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetTenantActivityLogsFilteredAndSelected.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetTenantActivityLogsNoParams.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetTenantActivityLogsNoParams.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetTenantActivityLogsNoParams.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetTenantActivityLogsNoParams.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetTenantActivityLogsSelected.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetTenantActivityLogsSelected.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/GetTenantActivityLogsSelected.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/GetTenantActivityLogsSelected.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/OperationList.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/OperationList.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/OperationList.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/OperationList.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/createOrUpdateAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/createOrUpdateAutoscaleSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/createOrUpdateAutoscaleSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/createOrUpdateAutoscaleSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/deleteAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/deleteAutoscaleSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/deleteAutoscaleSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/deleteAutoscaleSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/getAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/getAutoscaleSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/getAutoscaleSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/getAutoscaleSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/listAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/listAutoscaleSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/listAutoscaleSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/listAutoscaleSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/listAutoscaleSettingBySubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/listAutoscaleSettingBySubscription.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/listAutoscaleSettingBySubscription.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/listAutoscaleSettingBySubscription.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/patchAutoscaleSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/patchAutoscaleSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/examples/patchAutoscaleSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/examples/patchAutoscaleSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/operations_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/operations_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-04-01/tenantActivityLogs_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2015-07-01/serviceDiagnosticsSettings_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-07-01/serviceDiagnosticsSettings_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2015-07-01/serviceDiagnosticsSettings_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2015-07-01/serviceDiagnosticsSettings_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/alertRulesIncidents_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/alertRulesIncidents_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/alertRules_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRules_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/alertRules_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRules_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/GetMetricDefinitions.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/GetMetricDefinitions.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/GetMetricDefinitions.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/GetMetricDefinitions.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/GetMetricDefinitionsFiltered.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/GetMetricDefinitionsFiltered.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/GetMetricDefinitionsFiltered.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/GetMetricDefinitionsFiltered.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/createOrUpdateAlertRule.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/createOrUpdateAlertRule.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/createOrUpdateAlertRule.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/createOrUpdateAlertRule.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/createOrUpdateLogProfile.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/createOrUpdateLogProfile.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/createOrUpdateLogProfile.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/createOrUpdateLogProfile.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/deleteAlertRule.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/deleteAlertRule.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/deleteAlertRule.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/deleteAlertRule.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/deleteLogProfile.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/deleteLogProfile.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/deleteLogProfile.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/deleteLogProfile.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/getAlertRule.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/getAlertRule.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/getAlertRule.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/getAlertRule.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/getAlertRuleIncident.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/getAlertRuleIncident.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/getAlertRuleIncident.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/getAlertRuleIncident.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/getLogProfile.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/getLogProfile.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/getLogProfile.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/getLogProfile.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/listAlertRule.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/listAlertRule.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/listAlertRule.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/listAlertRule.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/listAlertRuleBySubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/listAlertRuleBySubscription.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/listAlertRuleBySubscription.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/listAlertRuleBySubscription.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/listAlertRuleIncidents.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/listAlertRuleIncidents.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/listAlertRuleIncidents.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/listAlertRuleIncidents.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/listLogProfile.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/listLogProfile.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/listLogProfile.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/listLogProfile.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/patchAlertRule.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/patchAlertRule.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/patchAlertRule.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/patchAlertRule.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/patchLogProfile.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/patchLogProfile.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/examples/patchLogProfile.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/examples/patchLogProfile.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/logProfiles_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/logProfiles_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/logProfiles_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/logProfiles_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/metricDefinitions_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/metricDefinitions_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-03-01/metricDefinitions_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/metricDefinitions_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/GetMetric.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/GetMetric.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/GetMetric.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/GetMetric.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/GetMetricFiltered.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/GetMetricFiltered.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/GetMetricFiltered.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/GetMetricFiltered.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/createOrUpdateServiceDiagnosticSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/createOrUpdateServiceDiagnosticSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/createOrUpdateServiceDiagnosticSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/createOrUpdateServiceDiagnosticSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/getServiceDiagnosticSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/getServiceDiagnosticSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/getServiceDiagnosticSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/getServiceDiagnosticSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/updateServiceDiagnosticSetting.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/updateServiceDiagnosticSetting.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/examples/updateServiceDiagnosticSetting.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/examples/updateServiceDiagnosticSetting.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/metrics_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/metrics_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/metrics_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/metrics_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/serviceDiagnosticsSettings_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/serviceDiagnosticsSettings_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2016-09-01/serviceDiagnosticsSettings_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2016-09-01/serviceDiagnosticsSettings_API.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/actionGroups_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/actionGroups_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/activityLogAlerts_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/activityLogAlerts_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/activityLogAlerts_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/activityLogAlerts_API.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/createOrUpdateActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/createOrUpdateActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/createOrUpdateActivityLogAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/createOrUpdateActivityLogAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/createOrUpdateActivityLogAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/createOrUpdateActivityLogAlert.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/deleteActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/deleteActionGroup.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/deleteActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/deleteActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/deleteActivityLogAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/deleteActivityLogAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/deleteActivityLogAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/deleteActivityLogAlert.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/enableReceiver.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/enableReceiver.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/getActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/getActionGroup.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/getActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/getActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/getActivityLogAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/getActivityLogAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/getActivityLogAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/getActivityLogAlert.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/listActionGroups.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/listActionGroups.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/listActionGroups.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/listActionGroups.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/listActivityLogAlerts.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/listActivityLogAlerts.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/listActivityLogAlerts.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/listActivityLogAlerts.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/patchActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/patchActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/patchActivityLogAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/patchActivityLogAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2017-04-01/examples/patchActivityLogAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2017-04-01/examples/patchActivityLogAlert.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetric.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/examples/GetMetric.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetricDefinitions.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/examples/GetMetricDefinitions.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/examples/GetMetricMetadata.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/examples/GetMetricMetadata.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/metricDefinitions_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-01-01/metrics_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/actionGroups_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/actionGroups_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/UpdateMetricAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/UpdateMetricAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/UpdateMetricAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/UpdateMetricAlert.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/createOrUpdateActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateMetricAlertMultipleResource.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/createOrUpdateMetricAlertMultipleResource.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateMetricAlertMultipleResource.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/createOrUpdateMetricAlertMultipleResource.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateMetricAlertResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/createOrUpdateMetricAlertResourceGroup.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateMetricAlertResourceGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/createOrUpdateMetricAlertResourceGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateMetricAlertSingleResource.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/createOrUpdateMetricAlertSingleResource.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateMetricAlertSingleResource.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/createOrUpdateMetricAlertSingleResource.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateMetricAlertSubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/createOrUpdateMetricAlertSubscription.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/createOrUpdateMetricAlertSubscription.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/createOrUpdateMetricAlertSubscription.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/deleteActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/deleteActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/deleteMetricAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/deleteMetricAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/deleteMetricAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/deleteMetricAlert.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/enableReceiver.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/enableReceiver.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertMultipleResource.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertMultipleResource.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertMultipleResource.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertMultipleResource.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertResourceGroup.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertResourceGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertResourceGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertSingleResource.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertSingleResource.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertSingleResource.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertSingleResource.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertStatus.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertStatus.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertStatus.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertStatus.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertStatusByName.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertStatusByName.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertStatusByName.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertStatusByName.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertSubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertSubscription.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/getMetricAlertSubscription.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/getMetricAlertSubscription.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/listActionGroups.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/listActionGroups.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/listMetricAlert.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/listMetricAlert.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/listMetricAlert.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/listMetricAlert.json
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
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/examples/patchActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/examples/patchActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/metricAlert_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-03-01/metricAlert_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRule-LogToMetricAction.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRule-LogToMetricAction.json
similarity index 84%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRule-LogToMetricAction.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRule-LogToMetricAction.json
index 3adc47b8bfcf..3c75479ee262 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRule-LogToMetricAction.json
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRule-LogToMetricAction.json
@@ -6,9 +6,7 @@
"api-version": "2018-04-16",
"parameters": {
"location": "West Europe",
- "tags": {
- "hidden-link:/subscriptions/af52d502-a447-4bc6-8cb7-4780fbb00490/resourceGroups/alertsweu/providers/Microsoft.OperationalInsights/workspaces/alertsweu": "Resource"
- },
+ "tags": { },
"properties": {
"description": "log to metric description",
"enabled": "true",
@@ -35,9 +33,7 @@
"name": "logtometricfoo",
"type": "microsoft.insights/scheduledqueryrules",
"location": "westeurope",
- "tags": {
- "hidden-link:/subscriptions/af52d502-a447-4bc6-8cb7-4780fbb00490/resourceGroups/alertsweu/providers/Microsoft.OperationalInsights/workspaces/alertsweu": "Resource"
- },
+ "tags": { },
"properties": {
"description": "log to metric description",
"displayName": "logtometricfoo",
@@ -68,9 +64,7 @@
"name": "logtometricfoo",
"type": "microsoft.insights/scheduledqueryrules",
"location": "westeurope",
- "tags": {
- "hidden-link:/subscriptions/af52d502-a447-4bc6-8cb7-4780fbb00490/resourceGroups/alertsweu/providers/Microsoft.OperationalInsights/workspaces/alertsweu": "Resource"
- },
+ "tags": { },
"properties": {
"description": "log to metric description",
"enabled": "true",
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRules.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRules.json
similarity index 85%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRules.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRules.json
index 473922885b01..bd449c2b5479 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRules.json
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRules.json
@@ -6,16 +6,14 @@
"api-version": "2018-04-16",
"parameters": {
"location": "eastus",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/Microsoft.OperationalInsights/workspaces/sampleWorkspace": "Resource"
- },
+ "tags": { },
"properties": {
"description": "log alert description",
"enabled": "true",
"lastUpdatedTime": "2017-06-23T21:23:52.0221265Z",
"provisioningState": "Succeeded",
"source": {
- "query": "Heartbeat | count",
+ "query": "Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m)",
"dataSourceId": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/Microsoft.OperationalInsights/workspaces/sampleWorkspace",
"queryType": "ResultCount"
},
@@ -38,7 +36,7 @@
"thresholdOperator": "GreaterThan",
"threshold": 5,
"metricTriggerType": "Consecutive",
- "metricColumn": "ColumnName"
+ "metricColumn": "Computer"
}
}
}
@@ -53,16 +51,14 @@
"name": "logalertfoo",
"type": "Microsoft.Insights/scheduledQueryRules",
"location": "eastus",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/Microsoft.OperationalInsights/workspaces/sampleWorkspace": "Resource"
- },
+ "tags": { },
"properties": {
"description": "log alert description",
"enabled": "true",
"lastUpdatedTime": "2017-06-23T21:23:52.0221265Z",
"provisioningState": "Succeeded",
"source": {
- "query": "Heartbeat | count",
+ "query": "Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m)",
"dataSourceId": "/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/Microsoft.OperationalInsights/workspaces/sampleWorkspace",
"queryType": "ResultCount"
},
@@ -85,7 +81,7 @@
"thresholdOperator": "GreaterThan",
"threshold": 5,
"metricTriggerType": "Consecutive",
- "metricColumn": "ColumnName"
+ "metricColumn": "Computer"
}
}
}
@@ -99,9 +95,7 @@
"name": "logalertfoo",
"type": "Microsoft.Insights/scheduledQueryRules",
"location": "eastus",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/Microsoft.OperationalInsights/workspaces/sampleWorkspace": "Resource"
- },
+ "tags": { },
"properties": {
"description": "log alert description",
"enabled": "true",
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRuleswithCrossResource.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRuleswithCrossResource.json
similarity index 90%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRuleswithCrossResource.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRuleswithCrossResource.json
index 1f5f3929cc15..464d745e7c53 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRuleswithCrossResource.json
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/createOrUpdateScheduledQueryRuleswithCrossResource.json
@@ -6,9 +6,7 @@
"api-version": "2018-04-16",
"parameters": {
"location": "eastus",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/microsoft.insights/components/sampleAI": "Resource"
- },
+ "tags": { },
"properties": {
"description": "Sample Cross Resource alert",
"enabled": "true",
@@ -48,9 +46,7 @@
"name": "SampleCrossResourceAlert",
"type": "Microsoft.Insights/scheduledQueryRules",
"location": "eastus",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/microsoft.insights/components/sampleAI": "Resource"
- },
+ "tags": { },
"properties": {
"description": "Sample Cross Resource alert",
"enabled": "true",
@@ -91,9 +87,7 @@
"name": "SampleCrossResourceAlert",
"type": "Microsoft.Insights/scheduledQueryRules",
"location": "eastus",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/microsoft.insights/components/sampleAI": "Resource"
- },
+ "tags": { },
"properties": {
"description": "Sample Cross Resource alert",
"enabled": "true",
@@ -128,4 +122,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/deleteScheduledQueryRules.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/deleteScheduledQueryRules.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/deleteScheduledQueryRules.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/deleteScheduledQueryRules.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/getScheduledQueryRules.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/getScheduledQueryRules.json
similarity index 89%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/getScheduledQueryRules.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/getScheduledQueryRules.json
index d76619f03ad3..6209f950f657 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/getScheduledQueryRules.json
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/getScheduledQueryRules.json
@@ -13,9 +13,7 @@
"name": "logalertfoo",
"type": "Microsoft.Insights/scheduledQueryRules",
"location": "West US",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/microsoft.insights/components/sampleAI": "Resource"
- },
+ "tags": { },
"properties": {
"description": "log alert description",
"enabled": "true",
@@ -47,4 +45,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/listScheduledQueryRules.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/listScheduledQueryRules.json
similarity index 89%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/listScheduledQueryRules.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/listScheduledQueryRules.json
index 81c5d1757134..d07a6c2a311a 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/listScheduledQueryRules.json
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/listScheduledQueryRules.json
@@ -14,9 +14,7 @@
"name": "logalertfoo",
"type": "Microsoft.Insights/scheduledQueryRules",
"location": "West US",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/microsoft.insights/components/sampleAI": "Resource"
- },
+ "tags": { },
"properties": {
"description": "log alert description",
"enabled": "false",
@@ -57,9 +55,7 @@
"name": "logalertfoo",
"type": "Microsoft.Insights/scheduledQueryRules",
"location": "West US",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/microsoft.insights/components/sampleAI": "Resource"
- },
+ "tags": { },
"properties": {
"description": "log alert description",
"enabled": "true",
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/patchScheduledQueryRules.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/patchScheduledQueryRules.json
similarity index 90%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/patchScheduledQueryRules.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/patchScheduledQueryRules.json
index a7275bfcf41d..17f0a237369c 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/examples/patchScheduledQueryRules.json
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/examples/patchScheduledQueryRules.json
@@ -18,9 +18,7 @@
"name": "logalertfoo",
"type": "Microsoft.Insights/scheduledQueryRules",
"location": "West US",
- "tags": {
- "hidden-link:/subscriptions/b67f7fec-69fc-4974-9099-a26bd6ffeda3/resourceGroups/Rac46PostSwapRG/providers/microsoft.insights/components/sampleAI": "Resource"
- },
+ "tags": {},
"properties": {
"description": "log alert description",
"enabled": "true",
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/scheduledQueryRule_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json
similarity index 99%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/scheduledQueryRule_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json
index 9f99151b5137..7ccb2411f230 100644
--- a/specification/monitor/resource-manager/microsoft.insights/stable/2018-04-16/scheduledQueryRule_API.json
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json
@@ -660,7 +660,6 @@
}
},
"required": [
- "aznsAction",
"trigger",
"severity"
]
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/actionGroups_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/actionGroups_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/actionGroups_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/actionGroups_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/baseline_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/baseline_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/baseline_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/baseline_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/calculateBaseline_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/calculateBaseline_API.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/CalculateBaseline.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/CalculateBaseline.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/CalculateBaseline.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/CalculateBaseline.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/GetBaseline.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaseline.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/GetBaseline.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaseline.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/GetBaselineMetadata.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaselineMetadata.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/GetBaselineMetadata.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaselineMetadata.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/createOrUpdateActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/createOrUpdateActionGroup.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/createOrUpdateActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/createOrUpdateActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/deleteActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/deleteActionGroup.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/deleteActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/deleteActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/enableReceiver.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/enableReceiver.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/enableReceiver.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/enableReceiver.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/getActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/getActionGroup.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/getActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/getActionGroup.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/listActionGroups.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/listActionGroups.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/listActionGroups.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/listActionGroups.json
diff --git a/specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/patchActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/patchActionGroup.json
similarity index 100%
rename from specification/monitor/resource-manager/microsoft.insights/stable/2018-09-01/examples/patchActionGroup.json
rename to specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/patchActionGroup.json
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/actionGroups_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/actionGroups_API.json
new file mode 100644
index 000000000000..ff39155ebae6
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/actionGroups_API.json
@@ -0,0 +1,862 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Action Groups API",
+ "x-ms-code-generation-settings": {
+ "name": "MonitorManagementClient"
+ },
+ "version": "2019-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. This operation is only supported for Email or SMS receivers.",
+ "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": 12,
+ "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."
+ },
+ "logicAppReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LogicAppReceiver"
+ },
+ "description": "The list of logic app receivers that are part of this action group."
+ },
+ "azureFunctionReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureFunctionReceiver"
+ },
+ "description": "The list of azure function receivers that are part of this action group."
+ },
+ "armRoleReceivers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArmRoleReceiver"
+ },
+ "description": "The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported."
+ }
+ },
+ "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."
+ },
+ "useCommonAlertSchema": {
+ "type": "boolean",
+ "description": "Indicates whether to use common alert schema."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/ReceiverStatus",
+ "description": "The receiver status of the e-mail."
+ }
+ },
+ "required": [
+ "name",
+ "emailAddress",
+ "useCommonAlertSchema"
+ ]
+ },
+ "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."
+ },
+ "useCommonAlertSchema": {
+ "type": "boolean",
+ "description": "Indicates whether to use common alert schema."
+ }
+ },
+ "required": [
+ "name",
+ "serviceUri",
+ "useCommonAlertSchema"
+ ]
+ },
+ "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."
+ },
+ "useCommonAlertSchema": {
+ "type": "boolean",
+ "description": "Indicates whether to use common alert schema."
+ }
+ },
+ "required": [
+ "automationAccountId",
+ "runbookName",
+ "webhookResourceId",
+ "isGlobalRunbook",
+ "useCommonAlertSchema"
+ ]
+ },
+ "VoiceReceiver": {
+ "description": "A 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"
+ ]
+ },
+ "LogicAppReceiver": {
+ "description": "A logic app receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the logic app receiver. Names must be unique across all receivers within an action group."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The azure resource id of the logic app receiver."
+ },
+ "callbackUrl": {
+ "type": "string",
+ "description": "The callback url where http request sent to."
+ },
+ "useCommonAlertSchema": {
+ "type": "boolean",
+ "description": "Indicates whether to use common alert schema."
+ }
+ },
+ "required": [
+ "name",
+ "resourceId",
+ "callbackUrl",
+ "useCommonAlertSchema"
+ ]
+ },
+ "AzureFunctionReceiver": {
+ "description": "An azure function receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the azure function receiver. Names must be unique across all receivers within an action group."
+ },
+ "functionAppResourceId": {
+ "type": "string",
+ "description": "The azure resource id of the function app."
+ },
+ "functionName": {
+ "type": "string",
+ "description": "The function name in the function app."
+ },
+ "httpTriggerUrl": {
+ "type": "string",
+ "description": "The http trigger url where http request sent to."
+ },
+ "useCommonAlertSchema": {
+ "type": "boolean",
+ "description": "Indicates whether to use common alert schema."
+ }
+ },
+ "required": [
+ "name",
+ "functionAppResourceId",
+ "functionName",
+ "httpTriggerUrl",
+ "useCommonAlertSchema"
+ ]
+ },
+ "ArmRoleReceiver": {
+ "description": "An arm role receiver.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the arm role receiver. Names must be unique across all receivers within an action group."
+ },
+ "roleId": {
+ "type": "string",
+ "description": "The arm role id."
+ },
+ "useCommonAlertSchema": {
+ "type": "boolean",
+ "description": "Indicates whether to use common alert schema."
+ }
+ },
+ "required": [
+ "name",
+ "roleId",
+ "useCommonAlertSchema"
+ ]
+ },
+ "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."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/createOrUpdateActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/createOrUpdateActionGroup.json
new file mode 100644
index 000000000000..775a40ca8790
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/createOrUpdateActionGroup.json
@@ -0,0 +1,318 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2019-03-01",
+ "actionGroup": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "groupShortName": "sample",
+ "enabled": true,
+ "emailReceivers": [
+ {
+ "name": "John Doe's email",
+ "emailAddress": "johndoe@email.com",
+ "useCommonAlertSchema": false
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "voiceReceivers": [
+ {
+ "name": "Sample voice",
+ "countryCode": "1",
+ "phoneNumber": "1234567890"
+ }
+ ],
+ "logicAppReceivers": [
+ {
+ "name": "Sample logicApp",
+ "resourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/LogicApp/providers/Microsoft.Logic/workflows/testLogicApp",
+ "callbackUrl": "https://prod-27.northcentralus.logic.azure.com/workflows/68e572e818e5457ba898763b7db90877/triggers/manual/paths/invoke/azns/test?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=Abpsb72UYJxPPvmDo937uzofupO5r_vIeWEx7KVHo7w",
+ "useCommonAlertSchema": false
+ }
+ ],
+ "azureFunctionReceivers": [
+ {
+ "name": "Sample azureFunction",
+ "functionAppResourceId": "/subscriptions/5def922a-3ed4-49c1-b9fd-05ec533819a3/resourceGroups/aznsTest/providers/Microsoft.Web/sites/testFunctionApp",
+ "functionName": "HttpTriggerCSharp1",
+ "httpTriggerUrl": "https://testfunctionapp.azurewebsites.net/api/HttpTriggerCSharp1?code=4CopFfiXqUQC8dvIM7F53J7tIU3Gy9QQIG/vKAXMe2avhHqK3/jVYw==",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "armRoleReceivers": [
+ {
+ "name": "Sample armRole",
+ "roleId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
+ "useCommonAlertSchema": true
+ }
+ ]
+ }
+ }
+ },
+ "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",
+ "useCommonAlertSchema": false
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Enabled",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "voiceReceivers": [
+ {
+ "name": "Sample voice",
+ "countryCode": "1",
+ "phoneNumber": "1234567890"
+ }
+ ],
+ "logicAppReceivers": [
+ {
+ "name": "Sample logicApp",
+ "resourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/LogicApp/providers/Microsoft.Logic/workflows/testLogicApp",
+ "callbackUrl": "https://prod-27.northcentralus.logic.azure.com/workflows/68e572e818e5457ba898763b7db90877/triggers/manual/paths/invoke/azns/test?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=Abpsb72UYJxPPvmDo937uzofupO5r_vIeWEx7KVHo7w",
+ "useCommonAlertSchema": false
+ }
+ ],
+ "azureFunctionReceivers": [
+ {
+ "name": "Sample azureFunction",
+ "functionAppResourceId": "/subscriptions/5def922a-3ed4-49c1-b9fd-05ec533819a3/resourceGroups/aznsTest/providers/Microsoft.Web/sites/testFunctionApp",
+ "functionName": "HttpTriggerCSharp1",
+ "httpTriggerUrl": "https://testfunctionapp.azurewebsites.net/api/HttpTriggerCSharp1?code=4CopFfiXqUQC8dvIM7F53J7tIU3Gy9QQIG/vKAXMe2avhHqK3/jVYw==",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "armRoleReceivers": [
+ {
+ "name": "Sample armRole",
+ "roleId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
+ "useCommonAlertSchema": true
+ }
+ ]
+ }
+ }
+ },
+ "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",
+ "useCommonAlertSchema": false
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Enabled",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "voiceReceivers": [
+ {
+ "name": "Sample voice",
+ "countryCode": "1",
+ "phoneNumber": "1234567890"
+ }
+ ],
+ "logicAppReceivers": [
+ {
+ "name": "Sample logicApp",
+ "resourceId": "/subscriptions/187f412d-1758-44d9-b052-169e2564721d/resourceGroups/LogicApp/providers/Microsoft.Logic/workflows/testLogicApp",
+ "callbackUrl": "https://prod-27.northcentralus.logic.azure.com/workflows/68e572e818e5457ba898763b7db90877/triggers/manual/paths/invoke/azns/test?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=Abpsb72UYJxPPvmDo937uzofupO5r_vIeWEx7KVHo7w",
+ "useCommonAlertSchema": false
+ }
+ ],
+ "azureFunctionReceivers": [
+ {
+ "name": "Sample azureFunction",
+ "functionAppResourceId": "/subscriptions/5def922a-3ed4-49c1-b9fd-05ec533819a3/resourceGroups/aznsTest/providers/Microsoft.Web/sites/testFunctionApp",
+ "functionName": "HttpTriggerCSharp1",
+ "httpTriggerUrl": "https://testfunctionapp.azurewebsites.net/api/HttpTriggerCSharp1?code=4CopFfiXqUQC8dvIM7F53J7tIU3Gy9QQIG/vKAXMe2avhHqK3/jVYw==",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "armRoleReceivers": [
+ {
+ "name": "Sample armRole",
+ "roleId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635",
+ "useCommonAlertSchema": true
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/deleteActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/deleteActionGroup.json
new file mode 100644
index 000000000000..3f5e257870b3
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/deleteActionGroup.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2019-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/2019-03-01/examples/enableReceiver.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/enableReceiver.json
new file mode 100644
index 000000000000..460f6864c0eb
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/enableReceiver.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2019-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/2019-03-01/examples/getActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/getActionGroup.json
new file mode 100644
index 000000000000..2896dd13117d
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/getActionGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2019-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",
+ "useCommonAlertSchema": true
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Disabled",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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",
+ "useCommonAlertSchema": false
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/listActionGroups.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/listActionGroups.json
new file mode 100644
index 000000000000..30bec9bfa7ea
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/listActionGroups.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "api-version": "2019-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",
+ "useCommonAlertSchema": true
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Disabled",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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",
+ "useCommonAlertSchema": false
+ }
+ ]
+ }
+ },
+ {
+ "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",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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/2019-03-01/examples/patchActionGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/patchActionGroup.json
new file mode 100644
index 000000000000..cea90dcf4195
--- /dev/null
+++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/examples/patchActionGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "187f412d-1758-44d9-b052-169e2564721d",
+ "resourceGroupName": "Default-NotificationRules",
+ "actionGroupName": "SampleActionGroup",
+ "api-version": "2019-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",
+ "useCommonAlertSchema": true
+ },
+ {
+ "name": "Jane Smith's email",
+ "emailAddress": "janesmith@email.com",
+ "status": "Enabled",
+ "useCommonAlertSchema": true
+ }
+ ],
+ "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",
+ "useCommonAlertSchema": false
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/monitor/resource-manager/readme.go.md b/specification/monitor/resource-manager/readme.go.md
index 3a89f7851da6..02fad6d8193b 100644
--- a/specification/monitor/resource-manager/readme.go.md
+++ b/specification/monitor/resource-manager/readme.go.md
@@ -13,10 +13,11 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- - tag: package-2017-08
- tag: package-2017-09
- tag: package-2018-03
- tag: package-2018-09
+ - tag: package-2018-11-preview
+ - tag: package-2019-03
```
### Tag: package-2017-09 and go
@@ -25,15 +26,6 @@ These settings apply only when `--tag=package-2017-09 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2017-09' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/monitor/mgmt/2018-03-01/$(namespace)
-```
-
-### 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/preview/monitor/mgmt/2017-05-01-preview/$(namespace)
```
@@ -54,3 +46,21 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-11-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/monitor/mgmt/2018-11-01-preview/$(namespace)
+```
+
+### Tag: package-2019-03 and go
+
+These settings apply only when `--tag=package-2019-03 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-03' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/monitor/mgmt/2019-03-01/$(namespace)
+```
diff --git a/specification/monitor/resource-manager/readme.md b/specification/monitor/resource-manager/readme.md
index 149a54c3ee94..17458a17ed07 100644
--- a/specification/monitor/resource-manager/readme.md
+++ b/specification/monitor/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for MonitorClient.
-
-
---
+
## Getting Started
+
To build the SDK for MonitorClient, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,48 +15,103 @@ To build the SDK for MonitorClient, simply [Install AutoRest](https://aka.ms/aut
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the MonitorClient API.
``` yaml
title: MonitorClient
description: Monitor Management Client
openapi-type: arm
+tag: package-2019-03
+```
+
+### Tag: package-2019-03
+
+These settings apply only when `--tag=package-2019-03` is specified on the command line.
-tag: package-2018-09
+```yaml $(tag) == 'package-2019-03'
+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/2019-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
+- 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
+- Microsoft.Insights/stable/2018-03-01/metricAlert_API.json
+- Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json
+- Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json
+- Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json
+```
+
+### Tag: package-2018-11-preview
+These settings apply only when `--tag=package-2018-11-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2018-11-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/2018-09-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
+- Microsoft.Insights/stable/2018-03-01/metricAlert_API.json
+- Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json
+- Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json
+- Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json
```
+
### Tag: package-2018-09
These settings apply only when `--tag=package-2018-09` is specified on the command line.
``` yaml $(tag) == 'package-2018-09'
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/2018-09-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
-- microsoft.insights/stable/2018-03-01/metricAlert_API.json
-- microsoft.insights/stable/2018-04-16/scheduledQueryRule_API.json
-- microsoft.insights/preview/2017-12-01-preview/metricNamespaces_API.json
+- 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/2018-09-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
+- Microsoft.Insights/stable/2018-03-01/metricAlert_API.json
+- Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json
+- Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json
```
### Tag: package-2018-03
@@ -65,74 +120,72 @@ These settings apply only when `--tag=package-2018-03` is specified on the comma
``` yaml $(tag) == 'package-2018-03'
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/2018-09-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
-- microsoft.insights/stable/2018-03-01/metricAlert_API.json
-- microsoft.insights/stable/2018-04-16/scheduledQueryRule_API.json
+- 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/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
+- 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
+- Microsoft.Insights/stable/2018-03-01/metricAlert_API.json
+- Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json
```
-
### 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/2018-09-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
+- 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-12
These settings apply only when `--tag=package-2017-12` is specified on the command line.
``` yaml $(tag) == 'package-2017-12'
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/2018-09-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/preview/2017-05-01-preview/metricDefinitions_API.json
-- microsoft.insights/preview/2017-05-01-preview/metrics_API.json
-- microsoft.insights/preview/2017-11-01-preview/baseline_API.json
-- microsoft.insights/preview/2017-11-01-preview/calculateBaseline_API.json
+- 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/preview/2017-05-01-preview/metricDefinitions_API.json
+- Microsoft.Insights/preview/2017-05-01-preview/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
@@ -141,22 +194,22 @@ These settings apply only when `--tag=package-2017-09` is specified on the comma
``` yaml $(tag) == 'package-2017-09'
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/2018-09-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/preview/2017-05-01-preview/metricDefinitions_API.json
-- microsoft.insights/preview/2017-05-01-preview/metrics_API.json
-- microsoft.insights/preview/2017-11-01-preview/baseline_API.json
-- microsoft.insights/preview/2017-11-01-preview/calculateBaseline_API.json
+- 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/2018-09-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/preview/2017-05-01-preview/metricDefinitions_API.json
+- Microsoft.Insights/preview/2017-05-01-preview/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-08
@@ -165,15 +218,15 @@ These settings apply only when `--tag=package-2017-08` is specified on the comma
``` yaml $(tag) == 'package-2017-08'
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/2018-09-01/actionGroups_API.json
-- microsoft.insights/stable/2017-04-01/activityLogAlerts_API.json
+- 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
```
### Tag: package-2018-01-01-only
@@ -182,8 +235,8 @@ These settings apply only when `--tag=package-2018-01-01-only` is specified on t
``` yaml $(tag) == 'package-2018-01-01-only'
input-file:
-- microsoft.insights/stable/2018-01-01/metricDefinitions_API.json
-- microsoft.insights/stable/2018-01-01/metrics_API.json
+- Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json
+- Microsoft.Insights/stable/2018-01-01/metrics_API.json
```
### Tag: package-2018-03-01-only
@@ -192,8 +245,8 @@ These settings apply only when `--tag=package-2018-03-01-only` is specified on t
``` yaml $(tag) == 'package-2018-03-01-only'
input-file:
-- microsoft.insights/stable/2018-03-01/metricAlert_API.json
-- microsoft.insights/stable/2018-03-01/actionGroups_API.json
+- Microsoft.Insights/stable/2018-03-01/metricAlert_API.json
+- Microsoft.Insights/stable/2018-03-01/actionGroups_API.json
```
### Tag: package-2018-04-16-only
@@ -202,7 +255,7 @@ These settings apply only when `--tag=package-2018-04-16-only` is specified on t
``` yaml $(tag) == 'package-2018-04-16-only'
input-file:
-- microsoft.insights/stable/2018-04-16/scheduledQueryRule_API.json
+- Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json
```
### Tag: package-2015-04-01-only
@@ -211,11 +264,11 @@ These settings apply only when `--tag=package-2015-04-01-only` is specified on t
``` yaml $(tag) == 'package-2015-04-01-only'
input-file:
-- microsoft.insights/stable/2015-04-01/activityLogs_API.json
-- microsoft.insights/stable/2015-04-01/autoscale_API.json
-- microsoft.insights/stable/2015-04-01/eventCategories_API.json
-- microsoft.insights/stable/2015-04-01/operations_API.json
-- microsoft.insights/stable/2015-04-01/tenantActivityLogs_API.json
+- Microsoft.Insights/stable/2015-04-01/activityLogs_API.json
+- Microsoft.Insights/stable/2015-04-01/autoscale_API.json
+- Microsoft.Insights/stable/2015-04-01/eventCategories_API.json
+- Microsoft.Insights/stable/2015-04-01/operations_API.json
+- Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json
```
### Tag: package-2016-03-01-only
@@ -224,10 +277,10 @@ These settings apply only when `--tag=package-2016-03-01-only` is specified on t
``` yaml $(tag) == 'package-2016-03-01-only'
input-file:
-- microsoft.insights/stable/2016-03-01/alertRules_API.json
-- microsoft.insights/stable/2016-03-01/alertRulesIncidents_API.json
-- microsoft.insights/stable/2016-03-01/logProfiles_API.json
-- microsoft.insights/stable/2016-03-01/metricDefinitions_API.json
+- Microsoft.Insights/stable/2016-03-01/alertRules_API.json
+- Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json
+- Microsoft.Insights/stable/2016-03-01/logProfiles_API.json
+- Microsoft.Insights/stable/2016-03-01/metricDefinitions_API.json
```
### Tag: package-2016-09-01-only
@@ -236,8 +289,8 @@ These settings apply only when `--tag=package-2016-09-01-only` is specified on t
``` yaml $(tag) == 'package-2016-09-01-only'
input-file:
-- microsoft.insights/stable/2016-09-01/metrics_API.json
-- microsoft.insights/stable/2016-09-01/serviceDiagnosticsSettings_API.json
+- Microsoft.Insights/stable/2016-09-01/metrics_API.json
+- Microsoft.Insights/stable/2016-09-01/serviceDiagnosticsSettings_API.json
```
### Tag: package-2017-04-01-only
@@ -246,8 +299,8 @@ These settings apply only when `--tag=package-2017-04-01-only` is specified on t
``` yaml $(tag) == 'package-2017-04-01-only'
input-file:
-- microsoft.insights/stable/2017-04-01/actionGroups_API.json
-- microsoft.insights/stable/2017-04-01/activityLogAlerts_API.json
+- Microsoft.Insights/stable/2017-04-01/actionGroups_API.json
+- Microsoft.Insights/stable/2017-04-01/activityLogAlerts_API.json
```
### Tag: package-2017-05-01-preview-only
@@ -256,10 +309,10 @@ These settings apply only when `--tag=package-2017-05-01-preview-only` is specif
``` yaml $(tag) == 'package-2017-05-01-preview-only'
input-file:
-- microsoft.insights/preview/2017-05-01-preview/diagnosticsSettings_API.json
-- microsoft.insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json
-- microsoft.insights/preview/2017-05-01-preview/metricDefinitions_API.json
-- microsoft.insights/preview/2017-05-01-preview/metrics_API.json
+- Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json
+- Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json
+- Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json
+- Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json
```
### Tag: package-2017-11-01-preview-only
@@ -268,13 +321,13 @@ These settings apply only when `--tag=package-2017-11-01-preview-only` is specif
``` yaml $(tag) == 'package-2017-11-01-preview-only'
input-file:
-- microsoft.insights/preview/2017-11-01-preview/baseline_API.json
-- microsoft.insights/preview/2017-11-01-preview/calculateBaseline_API.json
+- Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json
+- Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -293,7 +346,6 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_monitor']
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
diff --git a/specification/monitor/resource-manager/readme.python.md b/specification/monitor/resource-manager/readme.python.md
index 04fa322fe2ce..f911c3f03204 100644
--- a/specification/monitor/resource-manager/readme.python.md
+++ b/specification/monitor/resource-manager/readme.python.md
@@ -12,7 +12,7 @@ python:
payload-flattening-threshold: 2
namespace: azure.mgmt.monitor
package-name: azure-mgmt-monitor
- package-version: 0.5.0
+ package-version: 0.6.0
clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerCreate.json
index 9c1963d966a0..e97e970bbba5 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerCreate.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/preview/2017-12-01-preview/examples/ServerCreate.json
@@ -18,10 +18,10 @@
"createMode": "Default"
},
"sku": {
- "name": "B_Gen4_2",
+ "name": "B_Gen5_2",
"tier": "Basic",
"capacity": 2,
- "family": "Gen4"
+ "family": "Gen5"
},
"tags": {
"ElasticServer": "1"
@@ -37,8 +37,8 @@
"location": "eastus",
"sku": {
"capacity": 2,
- "family": "Gen4",
- "name": "B_Gen4_2",
+ "family": "Gen5",
+ "name": "B_Gen5_2",
"size": null,
"tier": "Basic"
},
@@ -67,8 +67,8 @@
"location": "eastus",
"sku": {
"capacity": 2,
- "family": "Gen4",
- "name": "B_Gen4_2",
+ "family": "Gen5",
+ "name": "B_Gen5_2",
"size": null,
"tier": "Basic"
},
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreate.json
index 54fd1d54300a..95e43a06f2fd 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreate.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreate.json
@@ -18,10 +18,10 @@
"createMode": "Default"
},
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
"capacity": 2,
- "family": "Gen4"
+ "family": "Gen5"
},
"tags": {
"ElasticServer": "1"
@@ -32,9 +32,9 @@
"201": {
"body": {
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
@@ -66,9 +66,9 @@
"type": "Microsoft.DBforMySQL/servers",
"location": "westus",
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"tags": {
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreateGeoRestoreMode.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreateGeoRestoreMode.json
index 7be8e9bd9de3..24ed1b914bbb 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreateGeoRestoreMode.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreateGeoRestoreMode.json
@@ -11,9 +11,9 @@
"sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforMySQL/servers/sourceserver"
},
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"tags": {
@@ -25,9 +25,9 @@
"201": {
"body": {
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
@@ -59,9 +59,9 @@
"type": "Microsoft.DBforMySQL/servers",
"location": "westus",
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"tags": {
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreatePointInTimeRestore.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreatePointInTimeRestore.json
index 84681fe7f260..bba4057c8d8c 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreatePointInTimeRestore.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreatePointInTimeRestore.json
@@ -12,9 +12,9 @@
"sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforMySQL/servers/sourceserver"
},
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"tags": {
@@ -26,9 +26,9 @@
"201": {
"body": {
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
@@ -60,9 +60,9 @@
"type": "Microsoft.DBforMySQL/servers",
"location": "brazilsouth",
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"tags": {
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreateReplicaMode.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreateReplicaMode.json
index c9857560febb..c906294eb2ae 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreateReplicaMode.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerCreateReplicaMode.json
@@ -16,9 +16,9 @@
"201": {
"body": {
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
@@ -49,9 +49,9 @@
"200": {
"body": {
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerRestart.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerRestart.json
new file mode 100644
index 000000000000..bc355a010136
--- /dev/null
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/examples/ServerRestart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2017-12-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+ }
\ No newline at end of file
diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json
index 582ae3f83679..29e2f1dc6fc1 100644
--- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json
+++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json
@@ -286,6 +286,47 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/restart": {
+ "post": {
+ "tags": [
+ "ServerRestart"
+ ],
+ "operationId": "Servers_Restart",
+ "x-ms-examples": {
+ "ServerRestart": { "$ref": "./examples/ServerRestart.json" }
+ },
+ "description": "Restarts a server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/replicas": {
"get": {
"tags": [
@@ -2183,7 +2224,41 @@
"x-ms-client-flatten": true
}
}
- }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ }
},
"parameters": {
"SubscriptionIdParameter": {
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/MountTargets_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/MountTargets_Get.json
deleted file mode 100644
index 1571403b994d..000000000000
--- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/MountTargets_Get.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "subscriptionId",
- "resourceGroup": "resourceGroup",
- "accountName": "accountName",
- "poolName": "poolName",
- "volumeName": "volumeName",
- "mountTargetName": "mountTargetName",
- "api-version": "2017-08-15"
- },
- "responses": {
- "200": {
- "body": {
- "location": "eastus",
- "properties": {
- "endIp": "1.2.3.4",
- "mountTargetId": "9760acf5-4638-11e7-9bdb-020073ca3333",
- "startIp": "1.2.3.4",
- "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca3333",
- "vlanId": 1337,
- "netmask": "255.255.255.0",
- "ipAddress": "1.2.3.4",
- "gateway": "1.2.3.4",
- "provisioningState": "Created"
- }
- }
- }
- }
-}
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_CreateOrUpdate.json
index 10e856ed8e0a..963096c1c441 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_CreateOrUpdate.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Pools_CreateOrUpdate.json
@@ -8,6 +8,17 @@
"body": {}
},
"responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Created",
+ "poolId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "serviceLevel": "Premium",
+ "size": 4398046511104
+ }
+ }
+ },
"201": {
"body": {
"location": "eastus",
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_CreateOrUpdate.json
index a33791786874..9caac72ce596 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_CreateOrUpdate.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/examples/Volumes_CreateOrUpdate.json
@@ -9,6 +9,19 @@
"body": {}
},
"responses": {
+ "200": {
+ "body": {
+ "location": "eastus",
+ "properties": {
+ "fileSystemId": "9760acf5-4638-11e7-9bdb-020073ca7778",
+ "creationToken": "some-amazing-filepath",
+ "usageThreshold": 107374182400,
+ "serviceLevel": "Premium",
+ "provisioningState": "Created",
+ "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3"
+ }
+ }
+ },
"201": {
"body": {
"location": "eastus",
diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/netapp.json
index 1bd7af70c77d..743b0fe364ba 100644
--- a/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/netapp.json
+++ b/specification/netapp/resource-manager/Microsoft.NetApp/preview/2017-08-15/netapp.json
@@ -68,7 +68,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts": {
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
@@ -110,7 +110,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}": {
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
@@ -257,7 +257,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools": {
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
@@ -302,7 +302,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}": {
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
@@ -364,8 +364,14 @@
}
],
"responses": {
+ "200": {
+ "description": "OK - pool updated",
+ "schema": {
+ "$ref": "#/definitions/capacityPool"
+ }
+ },
"201": {
- "description": "Pool created or updated",
+ "description": "Pool created",
"schema": {
"$ref": "#/definitions/capacityPool"
}
@@ -452,7 +458,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes": {
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
@@ -500,7 +506,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}": {
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
@@ -565,8 +571,14 @@
}
],
"responses": {
+ "200": {
+ "description": "Ok - volume updated",
+ "schema": {
+ "$ref": "#/definitions/volume"
+ }
+ },
"201": {
- "description": "Volume created or updated",
+ "description": "Volume created",
"schema": {
"$ref": "#/definitions/volume"
}
@@ -653,7 +665,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/mountTargets": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/mountTargets": {
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
@@ -704,58 +716,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/mountTargets/{mountTargetName}": {
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionId"
- },
- {
- "$ref": "#/parameters/ResourceGroup"
- },
- {
- "$ref": "#/parameters/AccountName"
- },
- {
- "$ref": "#/parameters/PoolName"
- },
- {
- "$ref": "#/parameters/VolumeName"
- },
- {
- "$ref": "#/parameters/MountTargetName"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "get": {
- "tags": [
- "MountTargets"
- ],
- "operationId": "MountTargets_Get",
- "description": "Get a mount target",
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/mountTarget"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/error"
- }
- }
- },
- "x-ms-examples": {
- "MountTargets_Get": {
- "$ref": "examples/MountTargets_Get.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots": {
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
@@ -806,7 +767,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}": {
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
@@ -1774,11 +1735,14 @@
"description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
},
"ResourceGroup": {
- "name": "resourceGroup",
+ "name": "resourceGroupName",
"in": "path",
"required": true,
"type": "string",
"description": "The name of the resource group.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
"x-ms-parameter-location": "method"
},
"AccountName": {
diff --git a/specification/netapp/resource-manager/readme.go.md b/specification/netapp/resource-manager/readme.go.md
new file mode 100644
index 000000000000..b5c4dc5b8812
--- /dev/null
+++ b/specification/netapp/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: netapp
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2017-08-15
+```
+
+### Tag: package-2017-08-15 and go
+
+These settings apply only when `--tag=package-2017-08-15 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2017-08-15' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2017-08-15/$(namespace)
+```
diff --git a/specification/netapp/resource-manager/readme.md b/specification/netapp/resource-manager/readme.md
index ef89228e33b9..b1ceeb839386 100644
--- a/specification/netapp/resource-manager/readme.md
+++ b/specification/netapp/resource-manager/readme.md
@@ -53,6 +53,8 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-net
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-go
```
@@ -63,3 +65,11 @@ See configuration in [readme.csharp.md](./readme.csharp.md)
## Python
See configuration in [readme.python.md](./readme.python.md)
+
+## JavaScript/TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
diff --git a/specification/netapp/resource-manager/readme.typescript.md b/specification/netapp/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..49812acb70f1
--- /dev/null
+++ b/specification/netapp/resource-manager/readme.typescript.md
@@ -0,0 +1,13 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-netapp"
+ payload-flattening-threshold: 2
+ output-folder: "$(typescript-sdks-folder)/packages/@azure/arm-netapp"
+ generate-metadata: true
+```
diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2015-05-01-preview/network.json b/specification/network/resource-manager/Microsoft.Network/preview/2015-05-01-preview/network.json
index 7670c459eeeb..f8a73d632373 100644
--- a/specification/network/resource-manager/Microsoft.Network/preview/2015-05-01-preview/network.json
+++ b/specification/network/resource-manager/Microsoft.Network/preview/2015-05-01-preview/network.json
@@ -2,7 +2,7 @@
"swagger": "2.0",
"info": {
"title": "NetworkResourceProviderClient",
- "description": "The Windows Azure Network management API provides a RESTful set of web services that interact with Windows Azure Networks service to manage your network resrources. The API has entities that capture the relationship between an end user and the Windows Azure Networks service.",
+ "description": "The Windows Azure Network management API provides a RESTful set of web services that interact with Windows Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Windows Azure Networks service.",
"version": "2015-05-01-preview"
},
"host": "management.azure.com",
@@ -42,7 +42,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_Delete",
- "description": "The delete applicationgateway operation deletes the specified applicationgateway.",
+ "description": "The delete application gateway operation deletes the specified application gateway.",
"parameters": [
{
"name": "resourceGroupName",
@@ -56,7 +56,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the applicationgateway."
+ "description": "The name of the application gateway."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -83,7 +83,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_Get",
- "description": "The Get applicationgateway operation retreives information about the specified applicationgateway.",
+ "description": "The Get application gateway operation retrieves information about the specified application gateway.",
"parameters": [
{
"name": "resourceGroupName",
@@ -97,7 +97,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the applicationgateway."
+ "description": "The name of the application gateway."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -175,7 +175,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_List",
- "description": "The List ApplicationGateway opertion retrieves all the applicationgateways in a resource group.",
+ "description": "The List ApplicationGateway operation retrieves all the application gateways in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -210,7 +210,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_ListAll",
- "description": "The List applicationgateway opertion retrieves all the applicationgateways in a subscription.",
+ "description": "The List application gateway operation retrieves all the application gateways in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -238,7 +238,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_Start",
- "description": "The Start ApplicationGateway operation starts application gatewayin the specified resource group through Network resource provider.",
+ "description": "The Start ApplicationGateway operation starts application gateway in the specified resource group through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -275,7 +275,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_Stop",
- "description": "The STOP ApplicationGateway operation stops application gatewayin the specified resource group through Network resource provider.",
+ "description": "The STOP ApplicationGateway operation stops application gateway in the specified resource group through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -356,7 +356,7 @@
"ExpressRouteCircuits"
],
"operationId": "ExpressRouteCircuits_Get",
- "description": "The Get ExpressRouteCircuit operation retreives information about the specified ExpressRouteCircuit.",
+ "description": "The Get ExpressRouteCircuit operation retrieves information about the specified ExpressRouteCircuit.",
"parameters": [
{
"name": "resourceGroupName",
@@ -448,7 +448,7 @@
"ExpressRouteCircuits"
],
"operationId": "ExpressRouteCircuits_ListArpTable",
- "description": "The ListArpTable from ExpressRouteCircuit opertion retrieves the currently advertised arp table associated with the ExpressRouteCircuits in a resource group.",
+ "description": "The ListArpTable from ExpressRouteCircuit operation retrieves the currently advertised arp table associated with the ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -490,7 +490,7 @@
"ExpressRouteCircuits"
],
"operationId": "ExpressRouteCircuits_ListRoutesTable",
- "description": "The ListRoutesTable from ExpressRouteCircuit opertion retrieves the currently advertised routes table associated with the ExpressRouteCircuits in a resource group.",
+ "description": "The ListRoutesTable from ExpressRouteCircuit operation retrieves the currently advertised routes table associated with the ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -532,7 +532,7 @@
"ExpressRouteCircuits"
],
"operationId": "ExpressRouteCircuits_ListStats",
- "description": "The Liststats ExpressRouteCircuit opertion retrieves all the stats from a ExpressRouteCircuits in a resource group.",
+ "description": "The ListStats ExpressRouteCircuit operation retrieves all the stats from a ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -574,7 +574,7 @@
"ExpressRouteCircuits"
],
"operationId": "ExpressRouteCircuits_List",
- "description": "The List ExpressRouteCircuit opertion retrieves all the ExpressRouteCircuits in a resource group.",
+ "description": "The List ExpressRouteCircuit operation retrieves all the ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -609,7 +609,7 @@
"ExpressRouteCircuits"
],
"operationId": "ExpressRouteCircuits_ListAll",
- "description": "The List ExpressRouteCircuit opertion retrieves all the ExpressRouteCircuits in a subscription.",
+ "description": "The List ExpressRouteCircuit operation retrieves all the ExpressRouteCircuits in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -637,7 +637,7 @@
"ExpressRouteServiceProviders"
],
"operationId": "ExpressRouteServiceProviders_List",
- "description": "The List ExpressRouteServiceProvider opertion retrieves all the available ExpressRouteServiceProviders.",
+ "description": "The List ExpressRouteServiceProvider operation retrieves all the available ExpressRouteServiceProviders.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -757,7 +757,7 @@
"ExpressRouteCircuitPeerings"
],
"operationId": "ExpressRouteCircuitPeerings_CreateOrUpdate",
- "description": "The Put Pering operation creates/updates an peering in the specified ExpressRouteCircuits",
+ "description": "The Put Peering operation creates/updates an peering in the specified ExpressRouteCircuits",
"parameters": [
{
"name": "resourceGroupName",
@@ -833,7 +833,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the curcuit."
+ "description": "The name of the circuit."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -902,7 +902,7 @@
"LoadBalancers"
],
"operationId": "LoadBalancers_Get",
- "description": "The Get ntework interface operation retreives information about the specified network interface.",
+ "description": "The Get network interface operation retrieves information about the specified network interface.",
"parameters": [
{
"name": "resourceGroupName",
@@ -994,7 +994,7 @@
"LoadBalancers"
],
"operationId": "LoadBalancers_ListAll",
- "description": "The List loadBalancer opertion retrieves all the loadbalancers in a subscription.",
+ "description": "The List loadBalancer operation retrieves all the load balancers in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1022,7 +1022,7 @@
"LoadBalancers"
],
"operationId": "LoadBalancers_List",
- "description": "The List loadBalancer opertion retrieves all the loadbalancers in a resource group.",
+ "description": "The List loadBalancer operation retrieves all the load balancers in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1149,7 +1149,7 @@
"LocalNetworkGateways"
],
"operationId": "LocalNetworkGateways_Delete",
- "description": "The Delete LocalNetworkGateway operation deletes the specifed local network Gateway through Network resource provider.",
+ "description": "The Delete LocalNetworkGateway operation deletes the specified local network Gateway through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1192,7 +1192,7 @@
"LocalNetworkGateways"
],
"operationId": "LocalNetworkGateways_List",
- "description": "The List LocalNetworkGateways opertion retrieves all the local network gateways stored.",
+ "description": "The List LocalNetworkGateways operation retrieves all the local network gateways stored.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1227,7 +1227,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_Delete",
- "description": "The delete netwokInterface operation deletes the specified netwokInterface.",
+ "description": "The delete networkInterface operation deletes the specified networkInterface.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1268,7 +1268,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_Get",
- "description": "The Get ntework interface operation retreives information about the specified network interface.",
+ "description": "The Get network interface operation retrieves information about the specified network interface.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1451,7 +1451,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface",
- "description": "The Get ntework interface operation retreives information about the specified network interface in a virtual machine scale set.",
+ "description": "The Get network interface operation retrieves information about the specified network interface in a virtual machine scale set.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1504,7 +1504,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_ListAll",
- "description": "The List networkInterfaces opertion retrieves all the networkInterfaces in a subscription.",
+ "description": "The List networkInterfaces operation retrieves all the networkInterfaces in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1532,7 +1532,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_List",
- "description": "The List networkInterfaces opertion retrieves all the networkInterfaces in a resource group.",
+ "description": "The List networkInterfaces operation retrieves all the networkInterfaces in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1567,7 +1567,7 @@
"RouteTables"
],
"operationId": "RouteTables_Delete",
- "description": "The Delete RouteTable operation deletes the specifed Route Table",
+ "description": "The Delete RouteTable operation deletes the specified Route Table",
"parameters": [
{
"name": "resourceGroupName",
@@ -1645,7 +1645,7 @@
"RouteTables"
],
"operationId": "RouteTables_CreateOrUpdate",
- "description": "The Put RouteTable operation creates/updates a route tablein the specified resource group.",
+ "description": "The Put RouteTable operation creates/updates a route table in the specified resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1763,7 +1763,7 @@
"NetworkSecurityGroups"
],
"operationId": "NetworkSecurityGroups_Delete",
- "description": "The Delete NetworkSecurityGroup operation deletes the specifed network security group",
+ "description": "The Delete NetworkSecurityGroup operation deletes the specified network security group",
"parameters": [
{
"name": "resourceGroupName",
@@ -1841,7 +1841,7 @@
"NetworkSecurityGroups"
],
"operationId": "NetworkSecurityGroups_CreateOrUpdate",
- "description": "The Put NetworkSecurityGroup operation creates/updates a network security groupin the specified resource group.",
+ "description": "The Put NetworkSecurityGroup operation creates/updates a network security group in the specified resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2000,7 +2000,7 @@
"PublicIpAddresses"
],
"operationId": "PublicIpAddresses_Get",
- "description": "The Get publicIpAddress operation retreives information about the specified pubicIpAddress",
+ "description": "The Get publicIpAddress operation retrieves information about the specified pubicIpAddress",
"parameters": [
{
"name": "resourceGroupName",
@@ -2092,7 +2092,7 @@
"PublicIpAddresses"
],
"operationId": "PublicIpAddresses_ListAll",
- "description": "The List publicIpAddress opertion retrieves all the publicIpAddresses in a subscription.",
+ "description": "The List publicIpAddress operation retrieves all the publicIpAddresses in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2120,7 +2120,7 @@
"PublicIpAddresses"
],
"operationId": "PublicIpAddresses_List",
- "description": "The List publicIpAddress opertion retrieves all the publicIpAddresses in a resource group.",
+ "description": "The List publicIpAddress operation retrieves all the publicIpAddresses in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2203,7 +2203,7 @@
"Routes"
],
"operationId": "Routes_Get",
- "description": "The Get route operation retreives information about the specified route from the route table.",
+ "description": "The Get route operation retrieves information about the specified route from the route table.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2277,7 +2277,7 @@
"schema": {
"$ref": "#/definitions/Route"
},
- "description": "Parameters supplied to the create/update routeoperation"
+ "description": "Parameters supplied to the create/update route operation"
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2309,7 +2309,7 @@
"Routes"
],
"operationId": "Routes_List",
- "description": "The List network security rule opertion retrieves all the routes in a route table.",
+ "description": "The List network security rule operation retrieves all the routes in a route table.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2399,7 +2399,7 @@
"SecurityRules"
],
"operationId": "SecurityRules_Get",
- "description": "The Get NetworkSecurityRule operation retreives information about the specified network security rule.",
+ "description": "The Get NetworkSecurityRule operation retrieves information about the specified network security rule.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2505,7 +2505,7 @@
"SecurityRules"
],
"operationId": "SecurityRules_List",
- "description": "The List network security rule opertion retrieves all the security rules in a network security group.",
+ "description": "The List network security rule operation retrieves all the security rules in a network security group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2639,7 +2639,7 @@
"ExpressRouteCircuitAuthorizations"
],
"operationId": "ExpressRouteCircuitAuthorizations_CreateOrUpdate",
- "description": "The Put Authorization operation creates/updates an authorization in thespecified ExpressRouteCircuits",
+ "description": "The Put Authorization operation creates/updates an authorization in the specified ExpressRouteCircuits",
"parameters": [
{
"name": "resourceGroupName",
@@ -2715,7 +2715,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the curcuit."
+ "description": "The name of the circuit."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2791,7 +2791,7 @@
"Subnets"
],
"operationId": "Subnets_Get",
- "description": "The Get subnet operation retreives information about the specified subnet.",
+ "description": "The Get subnet operation retrieves information about the specified subnet.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2835,7 +2835,7 @@
"Subnets"
],
"operationId": "Subnets_CreateOrUpdate",
- "description": "The Put Subnet operation creates/updates a subnet in thespecified virtual network",
+ "description": "The Put Subnet operation creates/updates a subnet in the specified virtual network",
"parameters": [
{
"name": "resourceGroupName",
@@ -2897,7 +2897,7 @@
"Subnets"
],
"operationId": "Subnets_List",
- "description": "The List subnets opertion retrieves all the subnets in a virtual network.",
+ "description": "The List subnets operation retrieves all the subnets in a virtual network.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2989,7 +2989,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the virtual network gateway conenction."
+ "description": "The name of the virtual network gateway connection."
},
{
"name": "parameters",
@@ -3067,7 +3067,7 @@
"VirtualNetworkGatewayConnections"
],
"operationId": "VirtualNetworkGatewayConnections_Delete",
- "description": "The Delete VirtualNetworkGatewayConnection operation deletes the specifed virtual network Gateway connection through Network resource provider.",
+ "description": "The Delete VirtualNetworkGatewayConnection operation deletes the specified virtual network Gateway connection through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3170,7 +3170,7 @@
"schema": {
"$ref": "#/definitions/ConnectionSharedKey"
},
- "description": "Parameters supplied to the Begin Set Virtual Network Gateway conection Shared key operation throughNetwork resource provider."
+ "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation through Network resource provider."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -3381,7 +3381,7 @@
"VirtualNetworkGateways"
],
"operationId": "VirtualNetworkGateways_Delete",
- "description": "The Delete VirtualNetworkGateway operation deletes the specifed virtual network Gateway through Network resource provider.",
+ "description": "The Delete VirtualNetworkGateway operation deletes the specified virtual network Gateway through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3424,7 +3424,7 @@
"VirtualNetworkGateways"
],
"operationId": "VirtualNetworkGateways_List",
- "description": "The List VirtualNetworkGateways opertion retrieves all the virtual network gateways stored.",
+ "description": "The List VirtualNetworkGateways operation retrieves all the virtual network gateways stored.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3459,7 +3459,7 @@
"VirtualNetworkGateways"
],
"operationId": "VirtualNetworkGateways_Reset",
- "description": "The Reset VirtualNetworkGateway operation resets the primary of the virtual network gatewayin the specified resource group through Network resource provider.",
+ "description": "The Reset VirtualNetworkGateway operation resets the primary of the virtual network gateway in the specified resource group through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3511,7 +3511,7 @@
"VirtualNetworks"
],
"operationId": "VirtualNetworks_Delete",
- "description": "The Delete VirtualNetwork operation deletes the specifed virtual network",
+ "description": "The Delete VirtualNetwork operation deletes the specified virtual network",
"parameters": [
{
"name": "resourceGroupName",
@@ -3777,7 +3777,7 @@
"properties": {
"subnet": {
"$ref": "#/definitions/SubResource",
- "description": "Gets or sets the reference of the subnet resource.A subnet from where appliation gateway gets its private address "
+ "description": "Gets or sets the reference of the subnet resource.A subnet from where application gateway gets its private address "
},
"provisioningState": {
"type": "string",
@@ -4403,7 +4403,7 @@
"description": "Gets or Sets RoutingRegistryName of the config."
}
},
- "description": "Specfies the peering config"
+ "description": "Specifies the peering config"
},
"ExpressRouteCircuitStats": {
"properties": {
@@ -4484,7 +4484,7 @@
},
"microsoftPeeringConfig": {
"$ref": "#/definitions/ExpressRouteCircuitPeeringConfig",
- "description": "Gets or sets the mircosoft peering config"
+ "description": "Gets or sets the Microsoft peering config"
},
"stats": {
"$ref": "#/definitions/ExpressRouteCircuitStats",
@@ -4832,7 +4832,7 @@
},
"subnet": {
"$ref": "#/definitions/SubResource",
- "description": "Gets or sets the reference of the subnet resource.A subnet from wher the load balancer gets its private frontend address "
+ "description": "Gets or sets the reference of the subnet resource.A subnet from where the load balancer gets its private frontend address "
},
"publicIPAddress": {
"$ref": "#/definitions/SubResource",
@@ -4942,7 +4942,7 @@
"$ref": "#/definitions/SubResource"
}
],
- "description": "Pool of backend IP addresseses"
+ "description": "Pool of backend IP addresses"
},
"LoadBalancingRulePropertiesFormat": {
"properties": {
@@ -4991,12 +4991,12 @@
"backendPort": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal compotnent on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
+ "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
},
"idleTimeoutInMinutes": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the timeout for the Tcp idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This emlement is only used when the protocol is set to Tcp"
+ "description": "Gets or sets 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",
@@ -5071,7 +5071,7 @@
"numberOfProbes": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endponints to be taken out of rotation faster or slower than the typical times used in Azure. "
+ "description": "Gets or sets 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",
@@ -5121,7 +5121,7 @@
},
"protocol": {
"type": "string",
- "description": "Gets or sets the transport potocol for the external endpoint. Possible values are Udp or Tcp",
+ "description": "Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp",
"enum": [
"Udp",
"Tcp"
@@ -5134,17 +5134,17 @@
"frontendPort": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the port for the external endpoint. You can spcify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
+ "description": "Gets or sets the port for the external endpoint. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
},
"backendPort": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal compotnent on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
+ "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
},
"idleTimeoutInMinutes": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the timeout for the Tcp idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This emlement is only used when the protocol is set to Tcp"
+ "description": "Gets or sets 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",
@@ -5192,7 +5192,7 @@
},
"protocol": {
"type": "string",
- "description": "Gets or sets the transport potocol for the external endpoint. Possible values are Udp or Tcp",
+ "description": "Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp",
"enum": [
"Udp",
"Tcp"
@@ -5205,17 +5205,17 @@
"frontendPortRangeStart": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the starting port range for the NAT pool. You can spcify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
+ "description": "Gets or sets the starting port range for the NAT pool. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
},
"frontendPortRangeEnd": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the ending port range for the NAT pool. You can spcify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
+ "description": "Gets or sets the ending port range for the NAT pool. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
},
"backendPort": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal compotnent on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
+ "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
},
"provisioningState": {
"type": "string",
@@ -5317,14 +5317,14 @@
"items": {
"$ref": "#/definitions/BackendAddressPool"
},
- "description": "Gets or sets Pools of backend IP addresseses"
+ "description": "Gets or sets Pools of backend IP addresses"
},
"loadBalancingRules": {
"type": "array",
"items": {
"$ref": "#/definitions/LoadBalancingRule"
},
- "description": "Gets or sets loadbalancing rules"
+ "description": "Gets or sets load balancing rules"
},
"probes": {
"type": "array",
@@ -5557,7 +5557,7 @@
},
"internalFqdn": {
"type": "string",
- "description": "Gets or sets full IDNS name in the form, DnsName.VnetId.ZoneId.TopleveSuffix. This is set when the NIC is associated to a VM"
+ "description": "Gets or sets full IDNS name in the form, DnsName.VnetId.ZoneId.TopLevelSuffix. This is set when the NIC is associated to a VM"
}
},
"description": "Dns Settings of a network interface"
@@ -5752,7 +5752,7 @@
"description": "Gets the URL to get the next set of results."
}
},
- "description": "Response for ListRouteTable Api servive call"
+ "description": "Response for ListRouteTable Api service call"
},
"SecurityRulePropertiesFormat": {
"properties": {
@@ -5775,19 +5775,19 @@
},
"sourcePortRange": {
"type": "string",
- "description": "Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ "description": "Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports."
},
"destinationPortRange": {
"type": "string",
- "description": "Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ "description": "Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports."
},
"sourceAddressPrefix": {
"type": "string",
- "description": "Gets or sets source address prefix. 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. "
+ "description": "Gets or sets source address prefix. CIDR or source IP range. Asterisk '*' 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. "
},
"destinationAddressPrefix": {
"type": "string",
- "description": "Gets or sets destination address prefix. 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. "
+ "description": "Gets or sets destination address prefix. CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. "
},
"access": {
"type": "string",
@@ -5808,7 +5808,7 @@
},
"direction": {
"type": "string",
- "description": "Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outcoming traffic.",
+ "description": "Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outgoing traffic.",
"enum": [
"Inbound",
"Outbound"
@@ -5926,7 +5926,7 @@
"description": "Gets the URL to get the next set of results."
}
},
- "description": "Response for ListNetworkSecurityGroups Api servive call"
+ "description": "Response for ListNetworkSecurityGroups Api service call"
},
"PublicIpAddressDnsSettings": {
"properties": {
@@ -5940,7 +5940,7 @@
},
"reverseFqdn": {
"type": "string",
- "description": "Gets or Sests 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": "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"
@@ -5974,7 +5974,7 @@
"idleTimeoutInMinutes": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the Idletimeout of the public IP address"
+ "description": "Gets or sets the idle timeout of the public IP address"
},
"resourceGuid": {
"type": "string",
@@ -6038,7 +6038,7 @@
"description": "Gets the URL to get the next set of results."
}
},
- "description": "Response for ListRoute Api servive call"
+ "description": "Response for ListRoute Api service call"
},
"SecurityRuleListResult": {
"properties": {
@@ -6122,7 +6122,7 @@
"$ref": "#/definitions/SubResource"
}
],
- "description": "Subnet in a VirtualNework resource"
+ "description": "Subnet in a VirtualNetwork resource"
},
"SubnetListResult": {
"properties": {
@@ -6310,7 +6310,7 @@
"description": "Gets or sets Provisioning state of the VirtualNetworkGateway resource Updating/Deleting/Failed"
}
},
- "description": "VirtualNeworkGateay properties"
+ "description": "VirtualNetworkGateway properties"
},
"VirtualNetworkGateway": {
"properties": {
@@ -6343,7 +6343,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type -Ipsec/Dedicated/VpnClient/Vnet2Vnet",
+ "description": "Gateway connection type IPsec/Dedicated/VpnClient/Vnet2Vnet",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -6362,7 +6362,7 @@
},
"sharedKey": {
"type": "string",
- "description": "The Ipsec share key."
+ "description": "The IPsec share key."
},
"connectionStatus": {
"type": "string",
@@ -6401,7 +6401,7 @@
"description": "Gets or sets Provisioning state of the VirtualNetworkGatewayConnection resource Updating/Deleting/Failed"
}
},
- "description": "VirtualNeworkGatewayConnection properties"
+ "description": "VirtualNetworkGatewayConnection properties"
},
"VirtualNetworkGatewayConnection": {
"properties": {
@@ -6428,7 +6428,7 @@
"description": "The virtual network connection shared key value"
}
},
- "description": "Response for GetConnectionSharedKey Api servive call"
+ "description": "Response for GetConnectionSharedKey Api service call"
},
"VirtualNetworkGatewayConnectionListResult": {
"properties": {
@@ -6542,7 +6542,7 @@
"description": "Gets the URL to get the next set of results."
}
},
- "description": "Response for ListVirtualNetworks Api servive call"
+ "description": "Response for ListVirtualNetworks Api service call"
},
"DnsNameAvailabilityResult": {
"properties": {
@@ -6551,7 +6551,7 @@
"description": "Domain availability (True/False)"
}
},
- "description": "Response for CheckDnsNameAvailability Api servive call"
+ "description": "Response for CheckDnsNameAvailability Api service call"
},
"ErrorDetails": {
"properties": {
@@ -6607,7 +6607,7 @@
"$ref": "#/definitions/Error"
}
},
- "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is inprogress, 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."
+ "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": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/loadBalancer.json
index 983adbfb3eb5..054c993d89a7 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/loadBalancer.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/loadBalancer.json
@@ -463,7 +463,7 @@
"$ref": "./network.json#/definitions/SubResource"
}
],
- "description": "A loag balancing rule for a load balancer."
+ "description": "A load balancing rule for a load balancer."
},
"ProbePropertiesFormat": {
"properties": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/networkSecurityGroup.json
index 93aab523e525..c35d30f2d3e1 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/networkSecurityGroup.json
@@ -458,19 +458,19 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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. "
},
"destinationAddressPrefix": {
"type": "string",
- "description": "The destination address prefix. 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."
+ "description": "The destination address prefix. CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"access": {
"type": "string",
@@ -491,7 +491,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/virtualNetworkGateway.json
index 1f9b9c99d7e0..07fe96ade87a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2015-06-15/virtualNetworkGateway.json
@@ -437,45 +437,6 @@
"x-ms-long-running-operation": true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{connectionSharedKeyName}/sharedkey": {
- "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": "connectionSharedKeyName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The virtual network gateway connection shared key name."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/ConnectionSharedKeyResult"
- }
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": {
"get": {
"tags": [
@@ -592,7 +553,7 @@
"schema": {
"$ref": "#/definitions/ConnectionSharedKey"
},
- "description": "Parameters supplied to the Begin Set Virtual Network Gateway conection Shared key operation throughNetwork resource provider."
+ "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork resource provider."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -616,6 +577,43 @@
}
},
"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": "",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKeyResult"
+ }
+ }
+ }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}": {
@@ -1123,7 +1121,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -1213,7 +1211,7 @@
"description": "The virtual network connection shared key value"
}
},
- "description": "Response for CheckConnectionSharedKey Api servive call"
+ "description": "Response for CheckConnectionSharedKey API service call"
},
"VirtualNetworkGatewayConnectionListResult": {
"properties": {
@@ -1247,7 +1245,7 @@
"description": "The virtual network connection shared key value"
}
},
- "description": "Response for GetConnectionSharedKey Api servive call"
+ "description": "Response for GetConnectionSharedKey API service call"
},
"LocalNetworkGatewayPropertiesFormat": {
"properties": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2016-03-30/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2016-03-30/network.json
index 29c35410d609..d77a8621bb16 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2016-03-30/network.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2016-03-30/network.json
@@ -2,7 +2,7 @@
"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 resrources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
+ "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": "2016-03-30"
},
"host": "management.azure.com",
@@ -42,7 +42,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_Delete",
- "description": "The delete applicationgateway operation deletes the specified applicationgateway.",
+ "description": "The delete application gateway operation deletes the specified application gateway.",
"parameters": [
{
"name": "resourceGroupName",
@@ -56,7 +56,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the applicationgateway."
+ "description": "The name of the application gateway."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -83,7 +83,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_Get",
- "description": "The Get applicationgateway operation retreives information about the specified applicationgateway.",
+ "description": "The Get application gateway operation retrieves information about the specified application gateway.",
"parameters": [
{
"name": "resourceGroupName",
@@ -97,7 +97,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the applicationgateway."
+ "description": "The name of the application gateway."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -175,7 +175,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_List",
- "description": "The List ApplicationGateway opertion retrieves all the applicationgateways in a resource group.",
+ "description": "The List ApplicationGateway operation retrieves all the application gateways in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -210,7 +210,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_ListAll",
- "description": "The List applicationgateway opertion retrieves all the applicationgateways in a subscription.",
+ "description": "The List application gateway operation retrieves all the application gateways in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -238,7 +238,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_Start",
- "description": "The Start ApplicationGateway operation starts application gatewayin the specified resource group through Network resource provider.",
+ "description": "The Start ApplicationGateway operation starts application gateway in the specified resource group through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -278,7 +278,7 @@
"ApplicationGateways"
],
"operationId": "ApplicationGateways_Stop",
- "description": "The STOP ApplicationGateway operation stops application gatewayin the specified resource group through Network resource provider.",
+ "description": "The STOP ApplicationGateway operation stops application gateway in the specified resource group through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -410,7 +410,7 @@
"ExpressRouteCircuitAuthorizations"
],
"operationId": "ExpressRouteCircuitAuthorizations_CreateOrUpdate",
- "description": "The Put Authorization operation creates/updates an authorization in thespecified ExpressRouteCircuits",
+ "description": "The Put Authorization operation creates/updates an authorization in the specified ExpressRouteCircuits",
"parameters": [
{
"name": "resourceGroupName",
@@ -486,7 +486,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the curcuit."
+ "description": "The name of the circuit."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -606,7 +606,7 @@
"ExpressRouteCircuitPeerings"
],
"operationId": "ExpressRouteCircuitPeerings_CreateOrUpdate",
- "description": "The Put Pering operation creates/updates an peering in the specified ExpressRouteCircuits",
+ "description": "The Put Peering operation creates/updates an peering in the specified ExpressRouteCircuits",
"parameters": [
{
"name": "resourceGroupName",
@@ -682,7 +682,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the curcuit."
+ "description": "The name of the circuit."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -751,7 +751,7 @@
"ExpressRouteCircuits"
],
"operationId": "ExpressRouteCircuits_Get",
- "description": "The Get ExpressRouteCircuit operation retreives information about the specified ExpressRouteCircuit.",
+ "description": "The Get ExpressRouteCircuit operation retrieves information about the specified ExpressRouteCircuit.",
"parameters": [
{
"name": "resourceGroupName",
@@ -843,7 +843,7 @@
"ExpressRouteCircuitArpTable"
],
"operationId": "ExpressRouteCircuits_ListArpTable",
- "description": "The ListArpTable from ExpressRouteCircuit opertion retrieves the currently advertised arp table associated with the ExpressRouteCircuits in a resource group.",
+ "description": "The ListArpTable from ExpressRouteCircuit operation retrieves the currently advertised arp table associated with the ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -900,7 +900,7 @@
"ExpressRouteCircuitRoutesTable"
],
"operationId": "ExpressRouteCircuits_ListRoutesTable",
- "description": "The ListRoutesTable from ExpressRouteCircuit opertion retrieves the currently advertised routes table associated with the ExpressRouteCircuits in a resource group.",
+ "description": "The ListRoutesTable from ExpressRouteCircuit operation retrieves the currently advertised routes table associated with the ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -957,7 +957,7 @@
"ExpressRouteCircuitRoutesTableSummary"
],
"operationId": "ExpressRouteCircuits_ListRoutesTableSummary",
- "description": "The ListRoutesTable from ExpressRouteCircuit opertion retrieves the currently advertised routes table associated with the ExpressRouteCircuits in a resource group.",
+ "description": "The ListRoutesTable from ExpressRouteCircuit operation retrieves the currently advertised routes table associated with the ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1014,7 +1014,7 @@
"ExpressRouteCircuitStats"
],
"operationId": "ExpressRouteCircuits_GetStats",
- "description": "The Liststats ExpressRouteCircuit opertion retrieves all the stats from a ExpressRouteCircuits in a resource group.",
+ "description": "The GetStats ExpressRouteCircuit operation retrieves all the stats from a ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1053,7 +1053,7 @@
"ExpressRouteCircuitStats"
],
"operationId": "ExpressRouteCircuits_GetPeeringStats",
- "description": "The Liststats ExpressRouteCircuit opertion retrieves all the stats from a ExpressRouteCircuits in a resource group.",
+ "description": "The GetPeeringStats ExpressRouteCircuit operation retrieves all the stats from a ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1099,7 +1099,7 @@
"ExpressRouteCircuits"
],
"operationId": "ExpressRouteCircuits_List",
- "description": "The List ExpressRouteCircuit opertion retrieves all the ExpressRouteCircuits in a resource group.",
+ "description": "The List ExpressRouteCircuit operation retrieves all the ExpressRouteCircuits in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1134,7 +1134,7 @@
"ExpressRouteCircuits"
],
"operationId": "ExpressRouteCircuits_ListAll",
- "description": "The List ExpressRouteCircuit opertion retrieves all the ExpressRouteCircuits in a subscription.",
+ "description": "The List ExpressRouteCircuit operation retrieves all the ExpressRouteCircuits in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1162,7 +1162,7 @@
"ExpressRouteServiceProviders"
],
"operationId": "ExpressRouteServiceProviders_List",
- "description": "The List ExpressRouteServiceProvider opertion retrieves all the available ExpressRouteServiceProviders.",
+ "description": "The List ExpressRouteServiceProvider operation retrieves all the available ExpressRouteServiceProviders.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1231,7 +1231,7 @@
"LoadBalancers"
],
"operationId": "LoadBalancers_Get",
- "description": "The Get ntework interface operation retreives information about the specified network interface.",
+ "description": "The Get network interface operation retrieves information about the specified network interface.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1330,7 +1330,7 @@
"LoadBalancers"
],
"operationId": "LoadBalancers_ListAll",
- "description": "The List loadBalancer opertion retrieves all the loadbalancers in a subscription.",
+ "description": "The List loadBalancer operation retrieves all the load balancers in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1358,7 +1358,7 @@
"LoadBalancers"
],
"operationId": "LoadBalancers_List",
- "description": "The List loadBalancer opertion retrieves all the loadbalancers in a resource group.",
+ "description": "The List loadBalancer operation retrieves all the load balancers in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1483,7 +1483,7 @@
"LocalNetworkGateways"
],
"operationId": "LocalNetworkGateways_Delete",
- "description": "The Delete LocalNetworkGateway operation deletes the specifed local network Gateway through Network resource provider.",
+ "description": "The Delete LocalNetworkGateway operation deletes the specified local network Gateway through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1526,7 +1526,7 @@
"LocalNetworkGateways"
],
"operationId": "LocalNetworkGateways_List",
- "description": "The List LocalNetworkGateways opertion retrieves all the local network gateways stored.",
+ "description": "The List LocalNetworkGateways operation retrieves all the local network gateways stored.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1561,7 +1561,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_Delete",
- "description": "The delete netwokInterface operation deletes the specified netwokInterface.",
+ "description": "The delete networkInterface operation deletes the specified networkInterface.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1602,7 +1602,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_Get",
- "description": "The Get ntework interface operation retreives information about the specified network interface.",
+ "description": "The Get network interface operation retrieves information about the specified network interface.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1792,7 +1792,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_GetVirtualMachineScaleSetNetworkInterface",
- "description": "The Get ntework interface operation retreives information about the specified network interface in a virtual machine scale set.",
+ "description": "The Get network interface operation retrieves information about the specified network interface in a virtual machine scale set.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1852,7 +1852,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_ListAll",
- "description": "The List networkInterfaces opertion retrieves all the networkInterfaces in a subscription.",
+ "description": "The List networkInterfaces operation retrieves all the networkInterfaces in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -1880,7 +1880,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_List",
- "description": "The List networkInterfaces opertion retrieves all the networkInterfaces in a resource group.",
+ "description": "The List networkInterfaces operation retrieves all the networkInterfaces in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1915,7 +1915,7 @@
"NetworkSecurityGroups"
],
"operationId": "NetworkSecurityGroups_Delete",
- "description": "The Delete NetworkSecurityGroup operation deletes the specifed network security group",
+ "description": "The Delete NetworkSecurityGroup operation deletes the specified network security group",
"parameters": [
{
"name": "resourceGroupName",
@@ -2000,7 +2000,7 @@
"NetworkSecurityGroups"
],
"operationId": "NetworkSecurityGroups_CreateOrUpdate",
- "description": "The Put NetworkSecurityGroup operation creates/updates a network security groupin the specified resource group.",
+ "description": "The Put NetworkSecurityGroup operation creates/updates a network security group in the specified resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2159,7 +2159,7 @@
"PublicIPAddresses"
],
"operationId": "PublicIPAddresses_Get",
- "description": "The Get publicIpAddress operation retreives information about the specified pubicIpAddress",
+ "description": "The Get publicIpAddress operation retrieves information about the specified pubicIpAddress",
"parameters": [
{
"name": "resourceGroupName",
@@ -2258,7 +2258,7 @@
"PublicIPAddresses"
],
"operationId": "PublicIPAddresses_ListAll",
- "description": "The List publicIpAddress opertion retrieves all the publicIpAddresses in a subscription.",
+ "description": "The List publicIpAddress operation retrieves all the publicIpAddresses in a subscription.",
"parameters": [
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2286,7 +2286,7 @@
"PublicIPAddresses"
],
"operationId": "PublicIPAddresses_List",
- "description": "The List publicIpAddress opertion retrieves all the publicIpAddresses in a resource group.",
+ "description": "The List publicIpAddress operation retrieves all the publicIpAddresses in a resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2321,7 +2321,7 @@
"RouteTables"
],
"operationId": "RouteTables_Delete",
- "description": "The Delete RouteTable operation deletes the specifed Route Table",
+ "description": "The Delete RouteTable operation deletes the specified Route Table",
"parameters": [
{
"name": "resourceGroupName",
@@ -2406,7 +2406,7 @@
"RouteTables"
],
"operationId": "RouteTables_CreateOrUpdate",
- "description": "The Put RouteTable operation creates/updates a route tablein the specified resource group.",
+ "description": "The Put RouteTable operation creates/updates a route table in the specified resource group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2572,7 +2572,7 @@
"Routes"
],
"operationId": "Routes_Get",
- "description": "The Get route operation retreives information about the specified route from the route table.",
+ "description": "The Get route operation retrieves information about the specified route from the route table.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2646,7 +2646,7 @@
"schema": {
"$ref": "#/definitions/Route"
},
- "description": "Parameters supplied to the create/update routeoperation"
+ "description": "Parameters supplied to the create/update route operation"
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -2678,7 +2678,7 @@
"Routes"
],
"operationId": "Routes_List",
- "description": "The List network security rule opertion retrieves all the routes in a route table.",
+ "description": "The List network security rule operation retrieves all the routes in a route table.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2768,7 +2768,7 @@
"SecurityRules"
],
"operationId": "SecurityRules_Get",
- "description": "The Get NetworkSecurityRule operation retreives information about the specified network security rule.",
+ "description": "The Get NetworkSecurityRule operation retrieves information about the specified network security rule.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2874,7 +2874,7 @@
"SecurityRules"
],
"operationId": "SecurityRules_List",
- "description": "The List network security rule opertion retrieves all the security rules in a network security group.",
+ "description": "The List network security rule operation retrieves all the security rules in a network security group.",
"parameters": [
{
"name": "resourceGroupName",
@@ -2964,7 +2964,7 @@
"Subnets"
],
"operationId": "Subnets_Get",
- "description": "The Get subnet operation retreives information about the specified subnet.",
+ "description": "The Get subnet operation retrieves information about the specified subnet.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3015,7 +3015,7 @@
"Subnets"
],
"operationId": "Subnets_CreateOrUpdate",
- "description": "The Put Subnet operation creates/updates a subnet in thespecified virtual network",
+ "description": "The Put Subnet operation creates/updates a subnet in the specified virtual network",
"parameters": [
{
"name": "resourceGroupName",
@@ -3077,7 +3077,7 @@
"Subnets"
],
"operationId": "Subnets_List",
- "description": "The List subnets opertion retrieves all the subnets in a virtual network.",
+ "description": "The List subnets operation retrieves all the subnets in a virtual network.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3169,7 +3169,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the virtual network gateway conenction."
+ "description": "The name of the virtual network gateway connection."
},
{
"name": "parameters",
@@ -3245,7 +3245,7 @@
"VirtualNetworkGatewayConnections"
],
"operationId": "VirtualNetworkGatewayConnections_Delete",
- "description": "The Delete VirtualNetworkGatewayConnection operation deletes the specifed virtual network Gateway connection through Network resource provider.",
+ "description": "The Delete VirtualNetworkGatewayConnection operation deletes the specified virtual network Gateway connection through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3282,45 +3282,6 @@
"x-ms-long-running-operation": true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{connectionSharedKeyName}/sharedkey": {
- "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": "connectionSharedKeyName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The virtual network gateway connection shared key name."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/ConnectionSharedKeyResult"
- }
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": {
"get": {
"tags": [
@@ -3437,7 +3398,7 @@
"schema": {
"$ref": "#/definitions/ConnectionSharedKey"
},
- "description": "Parameters supplied to the Begin Set Virtual Network Gateway conection Shared key operation throughNetwork resource provider."
+ "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation through Network resource provider."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -3461,6 +3422,43 @@
}
},
"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": "",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKeyResult"
+ }
+ }
+ }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": {
@@ -3559,7 +3557,7 @@
"VirtualNetworkGateways"
],
"operationId": "VirtualNetworkGateways_Delete",
- "description": "The Delete VirtualNetworkGateway operation deletes the specifed virtual network Gateway through Network resource provider.",
+ "description": "The Delete VirtualNetworkGateway operation deletes the specified virtual network Gateway through Network resource provider.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3602,7 +3600,7 @@
"VirtualNetworkGateways"
],
"operationId": "VirtualNetworkGateways_List",
- "description": "The List VirtualNetworkGateways opertion retrieves all the virtual network gateways stored.",
+ "description": "The List VirtualNetworkGateways operation retrieves all the virtual network gateways stored.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3737,7 +3735,7 @@
"VirtualNetworks"
],
"operationId": "VirtualNetworks_Delete",
- "description": "The Delete VirtualNetwork operation deletes the specifed virtual network",
+ "description": "The Delete VirtualNetwork operation deletes the specified virtual network",
"parameters": [
{
"name": "resourceGroupName",
@@ -4010,7 +4008,7 @@
"properties": {
"subnet": {
"$ref": "#/definitions/SubResource",
- "description": "Gets or sets the reference of the subnet resource.A subnet from where appliation gateway gets its private address "
+ "description": "Gets or sets the reference of the subnet resource.A subnet from where application gateway gets its private address "
},
"provisioningState": {
"type": "string",
@@ -4629,7 +4627,7 @@
},
"resourceGuid": {
"type": "string",
- "description": "Gets or sets resource guid property of the ApplicationGateway resource"
+ "description": "Gets or sets resource GUID property of the ApplicationGateway resource"
},
"provisioningState": {
"type": "string",
@@ -4813,7 +4811,7 @@
"description": "Gets or Sets RoutingRegistryName of the config."
}
},
- "description": "Specfies the peering config"
+ "description": "Specifies the peering config"
},
"ExpressRouteCircuitStats": {
"properties": {
@@ -4904,7 +4902,7 @@
},
"microsoftPeeringConfig": {
"$ref": "#/definitions/ExpressRouteCircuitPeeringConfig",
- "description": "Gets or sets the mircosoft peering config"
+ "description": "Gets or sets the Microsoft peering config"
},
"stats": {
"$ref": "#/definitions/ExpressRouteCircuitStats",
@@ -5146,9 +5144,6 @@
"description": "path ."
}
},
- "required": [
- "nextHopType"
- ],
"description": "The routes table associated with the ExpressRouteCircuit"
},
"ExpressRouteCircuitsRoutesTableListResult": {
@@ -5192,9 +5187,6 @@
"description": "Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group."
}
},
- "required": [
- "nextHopType"
- ],
"description": "The routes table associated with the ExpressRouteCircuit"
},
"ExpressRouteCircuitsRoutesTableSummaryListResult": {
@@ -5426,7 +5418,7 @@
"$ref": "#/definitions/SubResource"
}
],
- "description": "Pool of backend IP addresseses"
+ "description": "Pool of backend IP addresses"
},
"LoadBalancingRulePropertiesFormat": {
"properties": {
@@ -5475,12 +5467,12 @@
"backendPort": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal compotnent on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
+ "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
},
"idleTimeoutInMinutes": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the timeout for the Tcp idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This emlement is only used when the protocol is set to Tcp"
+ "description": "Gets or sets 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",
@@ -5553,7 +5545,7 @@
"numberOfProbes": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endponints to be taken out of rotation faster or slower than the typical times used in Azure. "
+ "description": "Gets or sets 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",
@@ -5603,7 +5595,7 @@
},
"protocol": {
"type": "string",
- "description": "Gets or sets the transport potocol for the external endpoint. Possible values are Udp or Tcp",
+ "description": "Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp",
"enum": [
"Udp",
"Tcp"
@@ -5616,17 +5608,17 @@
"frontendPort": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the port for the external endpoint. You can spcify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
+ "description": "Gets or sets the port for the external endpoint. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
},
"backendPort": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal compotnent on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
+ "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
},
"idleTimeoutInMinutes": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the timeout for the Tcp idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This emlement is only used when the protocol is set to Tcp"
+ "description": "Gets or sets 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",
@@ -5669,7 +5661,7 @@
},
"protocol": {
"type": "string",
- "description": "Gets or sets the transport potocol for the external endpoint. Possible values are Udp or Tcp",
+ "description": "Gets or sets the transport protocol for the external endpoint. Possible values are Udp or Tcp",
"enum": [
"Udp",
"Tcp"
@@ -5682,17 +5674,17 @@
"frontendPortRangeStart": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the starting port range for the NAT pool. You can spcify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
+ "description": "Gets or sets the starting port range for the NAT pool. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
},
"frontendPortRangeEnd": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the ending port range for the NAT pool. You can spcify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
+ "description": "Gets or sets the ending port range for the NAT pool. You can specify any port number you choose, but the port numbers specified for each role in the service must be unique. Possible values range between 1 and 65535, inclusive"
},
"backendPort": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal compotnent on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
+ "description": "Gets or sets a port used for internal connections on the endpoint. The localPort attribute maps the eternal port of the endpoint to an internal port on a role. This is useful in scenarios where a role must communicate to an internal component on a port that is different from the one that is exposed externally. If not specified, the value of localPort is the same as the port attribute. Set the value of localPort to '*' to automatically assign an unallocated port that is discoverable using the runtime API"
},
"provisioningState": {
"type": "string",
@@ -5793,14 +5785,14 @@
"items": {
"$ref": "#/definitions/BackendAddressPool"
},
- "description": "Gets or sets Pools of backend IP addresseses"
+ "description": "Gets or sets Pools of backend IP addresses"
},
"loadBalancingRules": {
"type": "array",
"items": {
"$ref": "#/definitions/LoadBalancingRule"
},
- "description": "Gets or sets loadbalancing rules"
+ "description": "Gets or sets load balancing rules"
},
"probes": {
"type": "array",
@@ -5832,7 +5824,7 @@
},
"resourceGuid": {
"type": "string",
- "description": "Gets or sets resource guid property of the Load balancer resource"
+ "description": "Gets or sets resource GUID property of the Load balancer resource"
},
"provisioningState": {
"type": "string",
@@ -5921,7 +5913,7 @@
},
"resourceGuid": {
"type": "string",
- "description": "Gets or sets resource guid property of the LocalNetworkGateway resource"
+ "description": "Gets or sets resource GUID property of the LocalNetworkGateway resource"
},
"provisioningState": {
"type": "string",
@@ -6074,7 +6066,7 @@
},
"internalFqdn": {
"type": "string",
- "description": "Gets or sets the internal fqdn."
+ "description": "Gets or sets the internal FQDN."
},
"internalDomainNameSuffix": {
"type": "string",
@@ -6118,7 +6110,7 @@
},
"resourceGuid": {
"type": "string",
- "description": "Gets or sets resource guid property of the network interface resource"
+ "description": "Gets or sets resource GUID property of the network interface resource"
},
"provisioningState": {
"type": "string",
@@ -6182,19 +6174,19 @@
},
"sourcePortRange": {
"type": "string",
- "description": "Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ "description": "Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports."
},
"destinationPortRange": {
"type": "string",
- "description": "Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ "description": "Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports."
},
"sourceAddressPrefix": {
"type": "string",
- "description": "Gets or sets source address prefix. 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. "
+ "description": "Gets or sets source address prefix. CIDR or source IP range. Asterisk '*' 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. "
},
"destinationAddressPrefix": {
"type": "string",
- "description": "Gets or sets destination address prefix. 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. "
+ "description": "Gets or sets destination address prefix. CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. "
},
"access": {
"type": "string",
@@ -6215,7 +6207,7 @@
},
"direction": {
"type": "string",
- "description": "Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outcoming traffic.",
+ "description": "Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outgoing traffic.",
"enum": [
"Inbound",
"Outbound"
@@ -6292,7 +6284,7 @@
},
"resourceGuid": {
"type": "string",
- "description": "Gets or sets resource guid property of the network security group resource"
+ "description": "Gets or sets resource GUID property of the network security group resource"
},
"provisioningState": {
"type": "string",
@@ -6333,7 +6325,7 @@
"description": "Gets the URL to get the next set of results."
}
},
- "description": "Response for ListNetworkSecurityGroups Api servive call"
+ "description": "Response for ListNetworkSecurityGroups Api service call"
},
"PublicIPAddressDnsSettings": {
"properties": {
@@ -6347,7 +6339,7 @@
},
"reverseFqdn": {
"type": "string",
- "description": "Gets or Sests 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": "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"
@@ -6391,11 +6383,11 @@
"idleTimeoutInMinutes": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the Idletimeout of the public IP address"
+ "description": "Gets or sets the idle timeout of the public IP address"
},
"resourceGuid": {
"type": "string",
- "description": "Gets or sets resource guid property of the PublicIP resource"
+ "description": "Gets or sets resource GUID property of the PublicIP resource"
},
"provisioningState": {
"type": "string",
@@ -6550,7 +6542,7 @@
"description": "Gets the URL to get the next set of results."
}
},
- "description": "Response for ListRouteTable Api servive call"
+ "description": "Response for ListRouteTable Api service call"
},
"RouteListResult": {
"properties": {
@@ -6566,7 +6558,7 @@
"description": "Gets the URL to get the next set of results."
}
},
- "description": "Response for ListRoute Api servive call"
+ "description": "Response for ListRoute Api service call"
},
"SecurityRuleListResult": {
"properties": {
@@ -6686,7 +6678,7 @@
"$ref": "#/definitions/SubResource"
}
],
- "description": "Subnet in a VirtualNework resource"
+ "description": "Subnet in a VirtualNetwork resource"
},
"SubnetListResult": {
"properties": {
@@ -6875,14 +6867,14 @@
},
"resourceGuid": {
"type": "string",
- "description": "Gets or sets resource guid property of the VirtualNetworkGateway resource"
+ "description": "Gets or sets resource GUID property of the VirtualNetworkGateway resource"
},
"provisioningState": {
"type": "string",
"description": "Gets or sets Provisioning state of the VirtualNetworkGateway resource Updating/Deleting/Failed"
}
},
- "description": "VirtualNeworkGateay properties"
+ "description": "VirtualNetworkGateway properties"
},
"VirtualNetworkGateway": {
"properties": {
@@ -6995,7 +6987,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type -Ipsec/Dedicated/VpnClient/Vnet2Vnet",
+ "description": "Gateway connection type IPsec/Dedicated/VpnClient/Vnet2Vnet",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -7014,7 +7006,7 @@
},
"sharedKey": {
"type": "string",
- "description": "The Ipsec share key."
+ "description": "The IPsec share key."
},
"connectionStatus": {
"type": "string",
@@ -7050,14 +7042,14 @@
},
"resourceGuid": {
"type": "string",
- "description": "Gets or sets resource guid property of the VirtualNetworkGatewayConnection resource"
+ "description": "Gets or sets resource GUID property of the VirtualNetworkGatewayConnection resource"
},
"provisioningState": {
"type": "string",
"description": "Gets or sets Provisioning state of the VirtualNetworkGatewayConnection resource Updating/Deleting/Failed"
}
},
- "description": "VirtualNeworkGatewayConnection properties"
+ "description": "VirtualNetworkGatewayConnection properties"
},
"VirtualNetworkGatewayConnection": {
"properties": {
@@ -7154,7 +7146,7 @@
"description": "The virtual network connection shared key value"
}
},
- "description": "Response for CheckConnectionSharedKey Api servive call"
+ "description": "Response for CheckConnectionSharedKey Api service call"
},
"VirtualNetworkGatewayConnectionListResult": {
"properties": {
@@ -7188,7 +7180,7 @@
"description": "The virtual network connection shared key value"
}
},
- "description": "Response for GetConnectionSharedKey Api servive call"
+ "description": "Response for GetConnectionSharedKey Api service call"
},
"VirtualNetworkGatewayListResult": {
"properties": {
@@ -7237,7 +7229,7 @@
},
"resourceGuid": {
"type": "string",
- "description": "Gets or sets resource guid property of the VirtualNetwork resource"
+ "description": "Gets or sets resource GUID property of the VirtualNetwork resource"
},
"provisioningState": {
"type": "string",
@@ -7277,7 +7269,7 @@
"description": "Gets the URL to get the next set of results."
}
},
- "description": "Response for ListVirtualNetworks Api servive call"
+ "description": "Response for ListVirtualNetworks Api service call"
},
"DnsNameAvailabilityResult": {
"properties": {
@@ -7286,7 +7278,7 @@
"description": "Domain availability (True/False)"
}
},
- "description": "Response for CheckDnsNameAvailability Api servive call"
+ "description": "Response for CheckDnsNameAvailability Api service call"
},
"ErrorDetails": {
"properties": {
@@ -7342,7 +7334,7 @@
"$ref": "#/definitions/Error"
}
},
- "description": "The response body contains the status of the specified asynchronous operation, indicating whether it has succeeded, is inprogress, 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."
+ "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": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2016-06-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2016-06-01/network.json
index 6ae6cc9a1c09..43066a06f0d4 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2016-06-01/network.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2016-06-01/network.json
@@ -1561,7 +1561,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_Delete",
- "description": "The delete netwokInterface operation deletes the specified netwokInterface.",
+ "description": "The delete networkInterface operation deletes the specified networkInterface.",
"parameters": [
{
"name": "resourceGroupName",
@@ -1915,7 +1915,7 @@
"NetworkInterfaces"
],
"operationId": "NetworkInterfaces_GetEffectiveRouteTable",
- "description": "The get effective routetable operation retrieves all the route tables applied on a networkInterface.",
+ "description": "Retrieves all the route tables applied on a networkInterface.",
"parameters": [
{
"name": "resourceGroupName",
@@ -3564,45 +3564,6 @@
"x-ms-long-running-operation": true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{connectionSharedKeyName}/sharedkey": {
- "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": "connectionSharedKeyName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The virtual network gateway connection shared key name."
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "",
- "schema": {
- "$ref": "#/definitions/ConnectionSharedKeyResult"
- }
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": {
"get": {
"tags": [
@@ -3743,6 +3704,43 @@
}
},
"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": "",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKeyResult"
+ }
+ }
+ }
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": {
@@ -5303,7 +5301,7 @@
},
"microsoftPeeringConfig": {
"$ref": "#/definitions/ExpressRouteCircuitPeeringConfig",
- "description": "Gets or sets the mircosoft peering config"
+ "description": "Gets or sets the Microsoft peering config"
},
"stats": {
"$ref": "#/definitions/ExpressRouteCircuitStats",
@@ -5557,9 +5555,6 @@
"description": "path ."
}
},
- "required": [
- "nextHopType"
- ],
"description": "The routes table associated with the ExpressRouteCircuit"
},
"ExpressRouteCircuitsRoutesTableListResult": {
@@ -5603,9 +5598,6 @@
"description": "Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group."
}
},
- "required": [
- "nextHopType"
- ],
"description": "The routes table associated with the ExpressRouteCircuit"
},
"ExpressRouteCircuitsRoutesTableSummaryListResult": {
@@ -6602,19 +6594,19 @@
},
"sourcePortRange": {
"type": "string",
- "description": "Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ "description": "Gets or sets Source Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports."
},
"destinationPortRange": {
"type": "string",
- "description": "Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports."
+ "description": "Gets or sets Destination Port or Range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports."
},
"sourceAddressPrefix": {
"type": "string",
- "description": "Gets or sets source address prefix. 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. "
+ "description": "Gets or sets source address prefix. CIDR or source IP range. Asterisk '*' 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. "
},
"destinationAddressPrefix": {
"type": "string",
- "description": "Gets or sets destination address prefix. 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. "
+ "description": "Gets or sets destination address prefix. CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. "
},
"access": {
"type": "string",
@@ -6635,7 +6627,7 @@
},
"direction": {
"type": "string",
- "description": "Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outcoming traffic.",
+ "description": "Gets or sets the direction of the rule.InBound or Outbound. The direction specifies if rule will be evaluated on incoming or outgoing traffic.",
"enum": [
"Inbound",
"Outbound"
@@ -6943,7 +6935,7 @@
"idleTimeoutInMinutes": {
"type": "integer",
"format": "int32",
- "description": "Gets or sets the Idletimeout of the public IP address"
+ "description": "Gets or sets the idle timeout of the public IP address"
},
"resourceGuid": {
"type": "string",
@@ -7409,7 +7401,7 @@
"$ref": "#/definitions/SubResource"
}
],
- "description": "Subnet in a VirtualNework resource"
+ "description": "Subnet in a VirtualNetwork resource"
},
"VirtualNetworkPeering": {
"properties": {
@@ -7431,7 +7423,7 @@
"$ref": "#/definitions/SubResource"
}
],
- "description": "Peerings in a VirtualNework resource"
+ "description": "Peerings in a VirtualNetwork resource"
},
"SubnetListResult": {
"properties": {
@@ -7762,7 +7754,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type -Ipsec/Dedicated/VpnClient/Vnet2Vnet",
+ "description": "Gateway connection type IPsec/Dedicated/VpnClient/Vnet2Vnet",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -7781,7 +7773,7 @@
},
"sharedKey": {
"type": "string",
- "description": "The Ipsec share key."
+ "description": "The IPsec share key."
},
"connectionStatus": {
"type": "string",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/loadBalancer.json
index a9e4c6ea276c..c6e47f5c3612 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/loadBalancer.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/loadBalancer.json
@@ -469,7 +469,7 @@
"$ref": "./network.json#/definitions/SubResource"
}
],
- "description": "A loag balancing rule for a load balancer."
+ "description": "A load balancing rule for a load balancer."
},
"ProbePropertiesFormat": {
"properties": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/networkSecurityGroup.json
index 1da3a101b612..8145b9a3f72b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/networkSecurityGroup.json
@@ -458,19 +458,19 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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. "
},
"destinationAddressPrefix": {
"type": "string",
- "description": "The destination address prefix. 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."
+ "description": "The destination address prefix. CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"access": {
"type": "string",
@@ -491,7 +491,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/virtualNetworkGateway.json
index 09085d2295db..cbb7bb9c136d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2016-09-01/virtualNetworkGateway.json
@@ -226,8 +226,8 @@
"type": "string",
"description": "The name of the virtual network gateway."
},
- {
- "name": "gatewayVip",
+ {
+ "name": "gatewayVip",
"in": "query",
"required": false,
"type": "string",
@@ -577,7 +577,7 @@
},
"x-ms-long-running-operation": true
}
- },
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": {
"put": {
"tags": [
@@ -668,7 +668,7 @@
}
}
}
- }
+ }
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": {
"get": {
@@ -1421,19 +1421,19 @@
}
},
"ingressBytesTransferred": {
- "readOnly": true,
+ "readOnly": true,
"type": "integer",
"format": "int64",
"description": "The Ingress Bytes Transferred in this connection"
},
"egressBytesTransferred": {
- "readOnly": true,
+ "readOnly": true,
"type": "integer",
"format": "int64",
"description": "The Egress Bytes Transferred in this connection"
- },
+ },
"lastConnectionEstablishedUtcTime": {
- "readOnly": true,
+ "readOnly": true,
"type": "string",
"description": "The time at which connection was established in Utc format."
}
@@ -1457,7 +1457,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -1597,7 +1597,7 @@
},
"required": [
"value"
- ],
+ ],
"description": "Response for GetConnectionSharedKey API service call"
},
"LocalNetworkGatewayPropertiesFormat": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2016-12-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2016-12-01/networkSecurityGroup.json
index a3e2d9b271e7..44e851827550 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2016-12-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2016-12-01/networkSecurityGroup.json
@@ -458,19 +458,19 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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. "
},
"destinationAddressPrefix": {
"type": "string",
- "description": "The destination address prefix. 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."
+ "description": "The destination address prefix. CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"access": {
"type": "string",
@@ -491,7 +491,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2016-12-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2016-12-01/virtualNetworkGateway.json
index a156da3cc892..7c14ea560280 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2016-12-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2016-12-01/virtualNetworkGateway.json
@@ -226,8 +226,8 @@
"type": "string",
"description": "The name of the virtual network gateway."
},
- {
- "name": "gatewayVip",
+ {
+ "name": "gatewayVip",
"in": "query",
"required": false,
"type": "string",
@@ -577,7 +577,7 @@
},
"x-ms-long-running-operation": true
}
- },
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": {
"put": {
"tags": [
@@ -668,7 +668,7 @@
}
}
}
- }
+ }
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": {
"get": {
@@ -1408,19 +1408,19 @@
}
},
"ingressBytesTransferred": {
- "readOnly": true,
+ "readOnly": true,
"type": "integer",
"format": "int64",
"description": "The Ingress Bytes Transferred in this connection"
},
"egressBytesTransferred": {
- "readOnly": true,
+ "readOnly": true,
"type": "integer",
"format": "int64",
"description": "The Egress Bytes Transferred in this connection"
- },
+ },
"lastConnectionEstablishedUtcTime": {
- "readOnly": true,
+ "readOnly": true,
"type": "string",
"description": "The time at which connection was established in Utc format."
}
@@ -1444,7 +1444,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -1584,7 +1584,7 @@
},
"required": [
"value"
- ],
+ ],
"description": "Response for GetConnectionSharedKey API service call"
},
"LocalNetworkGatewayPropertiesFormat": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json
index 37609771ad03..2a7fa0ca5485 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json
@@ -458,19 +458,19 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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. "
},
"destinationAddressPrefix": {
"type": "string",
- "description": "The destination address prefix. 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."
+ "description": "The destination address prefix. CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"access": {
"type": "string",
@@ -491,7 +491,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json
index e99560ea410e..9e7b06292e42 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json
@@ -226,8 +226,8 @@
"type": "string",
"description": "The name of the virtual network gateway."
},
- {
- "name": "gatewayVip",
+ {
+ "name": "gatewayVip",
"in": "query",
"required": false,
"type": "string",
@@ -577,7 +577,7 @@
},
"x-ms-long-running-operation": true
}
- },
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": {
"put": {
"tags": [
@@ -668,7 +668,7 @@
}
}
}
- }
+ }
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": {
"get": {
@@ -1420,19 +1420,19 @@
}
},
"ingressBytesTransferred": {
- "readOnly": true,
+ "readOnly": true,
"type": "integer",
"format": "int64",
"description": "The Ingress Bytes Transferred in this connection"
},
"egressBytesTransferred": {
- "readOnly": true,
+ "readOnly": true,
"type": "integer",
"format": "int64",
"description": "The Egress Bytes Transferred in this connection"
- },
+ },
"lastConnectionEstablishedUtcTime": {
- "readOnly": true,
+ "readOnly": true,
"type": "string",
"description": "The time at which connection was established in Utc format."
}
@@ -1456,7 +1456,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -1608,7 +1608,7 @@
},
"required": [
"value"
- ],
+ ],
"description": "Response for GetConnectionSharedKey API service call"
},
"IpsecPolicy": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/LoadBalancerCreate.json
index 9bb7dab86481..fc2d8142ca36 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -103,7 +104,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfigurations": [
@@ -214,7 +215,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"frontendIPConfigurations": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/LoadBalancerCreateWithZones.json
index 1353ec8361eb..0366e235a361 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkInterfaceCreate.json
index df70210f1598..5f8c7d6a93f7 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkSecurityGroupCreate.json
index 4efc0e2937cf..54e9fa299fc8 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkSecurityGroupCreateWithRule.json
index a81352e15d6e..f926cf0087da 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCaptureCreate.json
index 9a28aaeacf3d..de8f43638aa5 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCaptureCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -8,9 +8,9 @@
"parameters" : {
"properties" : {
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -34,9 +34,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCaptureGet.json
index bb6b5a0cbf64..a758618fa20e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCaptureGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -15,9 +15,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCapturesList.json
index 1d1fa985d309..9ad9f2b4e2c4 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCapturesList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/NetworkWatcherPacketCapturesList.json
@@ -16,9 +16,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -40,9 +40,9 @@
"properties" : {
"provisioningState" : "Succeeded",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateCustomizedValues.json
index ec77ade17065..facbea6ca846 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -10,7 +10,8 @@
"publicIPAllocationMethod": "Static",
"idleTimeoutInMinutes": 10,
"publicIPAddressVersion": "IPv4"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -18,7 +19,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -36,7 +37,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateDefaults.json
index 2c56f46f78a4..8f244b10b3b9 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -28,7 +30,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateDns.json
index 65aba235b107..84c304f97d6a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/PublicIpAddressCreateDns.json
@@ -8,7 +8,8 @@
"properties": {
"dnsSettings": {
"domainNameLabel": "dnslbl"
- }
+ },
+ "location": "eastus"
}
}
},
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/RouteTableCreate.json
index 7dcd711e53a7..0f4623da09ed 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/RouteTableCreateWithRoute.json
index 8aa4e35746a7..22a81b3594f1 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/RouteTableCreateWithRoute.json
@@ -15,7 +15,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreate.json
index 2e99f253077a..957520db91e0 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreateServiceEndpoints.json
index 99320173a9af..78f33f58ae99 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreateSubnet.json
index 587126eda309..62bc774744d0 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/networkInterface.json
index f98687be9695..8f1b7ca7fc51 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/networkInterface.json
@@ -825,14 +825,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -847,14 +847,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/networkSecurityGroup.json
index d45bba8b450a..daf5f217b025 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/networkSecurityGroup.json
@@ -604,15 +604,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -623,7 +623,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -667,7 +667,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/virtualNetworkGateway.json
index c3d0b48dd00e..5f14aea7f6be 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-06-01/virtualNetworkGateway.json
@@ -1605,7 +1605,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -1983,7 +1983,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreate.json
index 2851c9fc6d4c..d7996800907e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -103,7 +104,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -218,7 +219,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreateStandardSku.json
index 3a372e3bcd11..c5a792b3d1d0 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreateStandardSku.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreateStandardSku.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreateWithZones.json
index 8367e0dd4edf..0fc5737d2254 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkInterfaceCreate.json
index 860e60c77951..be5e0a2e2ebc 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkSecurityGroupCreate.json
index cd1bdd4e6cf8..b4766b92456b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkSecurityGroupCreateWithRule.json
index eb02a15c8e8d..4b950c40a0f4 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCaptureCreate.json
index 60e663d1689c..1da788ad2f9d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCaptureCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -8,9 +8,9 @@
"parameters" : {
"properties" : {
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -34,9 +34,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCaptureGet.json
index 157adfe6eef2..d336ca4d577e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCaptureGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -15,9 +15,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCapturesList.json
index 640cf68bfc99..744dd344f35c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCapturesList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/NetworkWatcherPacketCapturesList.json
@@ -16,9 +16,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -40,9 +40,9 @@
"properties" : {
"provisioningState" : "Succeeded",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateCustomizedValues.json
index 92c7c12ac036..6356fb53a48a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateDefaults.json
index fb4eddbfce69..0100d53802c3 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateDns.json
index 181f2e8be9c7..d86edf1ea84b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/PublicIpAddressCreateDns.json
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/RouteTableCreate.json
index c541825a85f0..c94936ec1948 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/RouteTableCreateWithRoute.json
index fd7adcb2411b..8e0f9ce6e26d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/RouteTableCreateWithRoute.json
@@ -15,7 +15,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreate.json
index 9f9b75858d33..304caf4a8173 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreateServiceEndpoints.json
index 976b3df12a21..c54ce642f81b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreateSubnet.json
index d56c1d52db56..8568adef5aa9 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/networkInterface.json
index b56933f28400..a68e3abc29ad 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/networkInterface.json
@@ -805,14 +805,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -827,14 +827,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/networkSecurityGroup.json
index f6435b607a01..17fc7f6afb74 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/networkSecurityGroup.json
@@ -580,15 +580,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -599,7 +599,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -643,7 +643,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/virtualNetworkGateway.json
index a3d8dbb9242a..3ea8fde84dde 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-08-01/virtualNetworkGateway.json
@@ -1649,7 +1649,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2027,7 +2027,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreate.json
index 7bf00914a1c2..f64cecbb53d5 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -103,7 +104,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -218,7 +219,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreateStandardSku.json
index 4aa33cf55dd7..5598141bf7f2 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreateStandardSku.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreateStandardSku.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreateWithZones.json
index 2654ecb4f8e6..9d3e65598051 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkInterfaceCreate.json
index cdbf11f909ac..8d27d8daf66a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkSecurityGroupCreate.json
index 19d09f79c571..863151fcbd06 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkSecurityGroupCreateWithRule.json
index 9014497f4dba..1593aa414ec9 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCaptureCreate.json
index 5df4d34b33ee..9f88d84d4e60 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCaptureCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -8,9 +8,9 @@
"parameters" : {
"properties" : {
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -34,9 +34,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCaptureGet.json
index 6be731665430..54ca9a35a2be 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCaptureGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -15,9 +15,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCapturesList.json
index dfb8f489c103..259e37e7d81e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCapturesList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/NetworkWatcherPacketCapturesList.json
@@ -16,9 +16,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -40,9 +40,9 @@
"properties" : {
"provisioningState" : "Succeeded",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateCustomizedValues.json
index 06a42a0588c5..7b8bd687ba6e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateDefaults.json
index 792f7e2c5d6e..7147103cd866 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateDns.json
index 24def83c0e3d..b212d4d0448d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/PublicIpAddressCreateDns.json
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/RouteTableCreate.json
index 890efac1c31f..67fc0e70f6cb 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/RouteTableCreateWithRoute.json
index d6b6301ff795..9e45e4c7c8ee 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/RouteTableCreateWithRoute.json
@@ -15,7 +15,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreate.json
index c26f275d2386..e23e58a28aaa 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreateServiceEndpoints.json
index d5264221c6ae..6c1a093c0e72 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreateSubnet.json
index 38b2b4330a6b..4bd4e195b6b2 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/networkInterface.json
index 677b2a8669a9..497081ed881a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/networkInterface.json
@@ -862,14 +862,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -884,14 +884,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json
index 92ff8b1119be..a98700f4be00 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json
@@ -630,15 +630,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -656,7 +656,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -707,7 +707,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.json
index b5de12dbd436..3ef38ef18881 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.json
@@ -1887,7 +1887,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2265,7 +2265,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreate.json
index 3898893b2143..0803014d33c5 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -103,7 +104,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -218,7 +219,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreateStandardSku.json
index 7281ce9d1003..c98ffd9fda56 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreateStandardSku.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreateStandardSku.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreateWithZones.json
index c8511bc3a2a3..6ca73d1078d5 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkInterfaceCreate.json
index 61925b41c356..e6fbbaa59ed0 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkSecurityGroupCreate.json
index 87e7bb336c98..7376b5ff2163 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkSecurityGroupCreateWithRule.json
index cc8cdccd9d67..d054cecd921e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCaptureCreate.json
index ff6ac93dcbc8..b6963712bf67 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCaptureCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -8,9 +8,9 @@
"parameters" : {
"properties" : {
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -34,9 +34,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCaptureGet.json
index f811d56403fd..5104be9790cb 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCaptureGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -15,9 +15,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCapturesList.json
index 8ffce8cbf92a..2af98d700e0f 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCapturesList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/NetworkWatcherPacketCapturesList.json
@@ -16,9 +16,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -40,9 +40,9 @@
"properties" : {
"provisioningState" : "Succeeded",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateCustomizedValues.json
index ca7f0e7dc356..aab0afab7f68 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateDefaults.json
index ae13c45fb576..915491870bc3 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateDns.json
index f653027054a0..cb9a8164368f 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/PublicIpAddressCreateDns.json
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/RouteTableCreate.json
index 29848fc2c632..9dfab897b7a8 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/RouteTableCreateWithRoute.json
index 6ff1278687bf..b7d969917f88 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/RouteTableCreateWithRoute.json
@@ -16,7 +16,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreate.json
index 5fe9d173cc5a..3bff3ab3ee49 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreateServiceEndpoints.json
index d0fe4dae150f..695c9138163a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreateSubnet.json
index feb1f3b7b8cb..af3765534361 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkInterface.json
index 3442b62058c1..b9db9afe26db 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkInterface.json
@@ -862,14 +862,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -884,14 +884,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json
index 75cd1245f0e1..e41775badfd1 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json
@@ -630,15 +630,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -656,7 +656,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -707,7 +707,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
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 2d45dc0392bb..dcada8cb3720 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
@@ -2729,7 +2729,7 @@
"properties": {
"location": {
"type": "string",
- "description": "Connection monitor location."
+ "description": "Connection monitor location."
},
"tags": {
"type": "object",
@@ -2901,7 +2901,7 @@
"description": "Information about connection states."
}
},
- "description": "List of connection states snaphots."
+ "description": "List of connection states snapshots."
},
"ConnectionStateSnapshot": {
"properties": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json
index dfa503c6049e..074fd08f67b8 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json
@@ -1887,7 +1887,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2265,7 +2265,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
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
index 3b2f45e44c18..70baf1c87cac 100644
--- 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
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -103,7 +104,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -218,7 +219,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
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
index 8834095e2615..7562ddec445c 100644
--- 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
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
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
index 9b87b5e86864..34b5a2817c78 100644
--- 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
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -54,7 +55,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -110,7 +111,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
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
index afaf96e1016e..7341e7807528 100644
--- 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
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
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
index 5b796abd2c19..671e9c3c0f7d 100644
--- 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
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
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
index 1abc20e5b751..cf8b76f26bd4 100644
--- 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
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
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
index 51ddd81285ce..7114df52716f 100644
--- 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
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
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
index 072acc4b394a..1b19c91c4097 100644
--- 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
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
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
index 4a712d4bc240..c0d3e538223b 100644
--- 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
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
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
index 181ea3643baa..331f1ddaa2e0 100644
--- 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
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
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
index 1fb1c4c58c8c..462995ff19c9 100644
--- 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
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
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
index b00e0b405358..3967db3af519 100644
--- 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
@@ -16,7 +16,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
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
index 77b28c66a3f7..125d21c4b376 100644
--- 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
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
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
index f8ccdbb4473c..b3c82facb036 100644
--- 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
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
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
index 655414e5ce68..847d5b4127b6 100644
--- 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
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
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
index a6a50c3abc35..f199d93a8c2f 100644
--- 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
@@ -862,14 +862,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -884,14 +884,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
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
index ff3122a9cab1..467bfd98b1dd 100644
--- 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
@@ -630,15 +630,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -656,7 +656,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -707,7 +707,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
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
index a01da6be5894..7a2c7f279308 100644
--- 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
@@ -2810,7 +2810,7 @@
"properties": {
"location": {
"type": "string",
- "description": "Connection monitor location."
+ "description": "Connection monitor location."
},
"tags": {
"type": "object",
@@ -2982,7 +2982,7 @@
"description": "Information about connection states."
}
},
- "description": "List of connection states snaphots."
+ "description": "List of connection states snapshots."
},
"ConnectionStateSnapshot": {
"properties": {
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
index 2f4f81e19bd5..3ef3b48f7d76 100644
--- 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
@@ -1887,7 +1887,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2265,7 +2265,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
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
index 445c5e512356..67eb7c7609c6 100644
--- 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
@@ -1750,7 +1750,7 @@
"exclusiveMaximum": false,
"minimum": 8,
"exclusiveMinimum": false,
- "description": "Maxium request body size for WAF."
+ "description": "Maximum request body size for WAF."
}
},
"required": [
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
index 3c92ed40465c..5386d09393e3 100644
--- 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
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -103,7 +104,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -218,7 +219,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
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
index 31d1c327d484..5abb5484873d 100644
--- 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
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
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
index 3b9a90e5cb32..e7ba5325db65 100644
--- 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
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -54,7 +55,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -110,7 +111,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
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
index 7820b7e9ec74..91fe0ecd4007 100644
--- 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
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
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
index 3c5638cf7747..7d59ec3d7cef 100644
--- 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
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
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
index 3a3d30401694..8f24da1e0e13 100644
--- 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
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
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
index 31b90ecd8157..33bb9c84b16e 100644
--- 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
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
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
index 007ac0dd93e5..a9faedb69443 100644
--- 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
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
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
index 6afed121f751..240e31e97318 100644
--- 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
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
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
index 92316fdaaaa2..c7e164cb381f 100644
--- 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
@@ -10,14 +10,15 @@
"domainNameLabel": "dnslbl"
}
}
- }
+ },
+ "location": "eastus"
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
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
index 72b47ece7932..0be6d4e2fdba 100644
--- 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
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
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
index 192a9a011497..097017d02004 100644
--- 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
@@ -16,7 +16,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
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
index a9c84e795937..d99846cab3fa 100644
--- 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
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
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
index ffab5da3842b..f9711311584e 100644
--- 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
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
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
index f041e83e3486..e98ad13dd0be 100644
--- 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
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
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
index af6db8dfe48c..42163649b39b 100644
--- 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
@@ -862,14 +862,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -884,14 +884,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
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
index 88478b5526b5..91d6ff3a10d7 100644
--- 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
@@ -630,15 +630,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -656,7 +656,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -707,7 +707,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
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
index df8c1a1480f5..fee2ae22ef2d 100644
--- 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
@@ -2889,7 +2889,7 @@
"properties": {
"location": {
"type": "string",
- "description": "Connection monitor location."
+ "description": "Connection monitor location."
},
"tags": {
"type": "object",
@@ -3061,7 +3061,7 @@
"description": "Information about connection states."
}
},
- "description": "List of connection states snaphots."
+ "description": "List of connection states snapshots."
},
"ConnectionStateSnapshot": {
"properties": {
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
index 579597d8bfd2..3d3744e6d89d 100644
--- 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
@@ -1887,7 +1887,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2265,7 +2265,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/applicationGateway.json
index 4bcb293d0766..ac6ec01d4de2 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/applicationGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/applicationGateway.json
@@ -489,8 +489,8 @@
],
"operationId": "ApplicationGateways_ListAvailableSslOptions",
"x-ms-examples": {
- "Get Available Ssl Options": {
- "$ref": "./examples/ApplicationGatewayAvailableSslOptionsGet.json"
+ "Get Available Ssl Options": {
+ "$ref": "./examples/ApplicationGatewayAvailableSslOptionsGet.json"
}
},
"description": "Lists available Ssl options for configuring Ssl policy.",
@@ -1738,19 +1738,19 @@
"$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."
+ },
+ "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": "Maximum request body size for WAF."
}
},
"required": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreate.json
index ba2d74b0e3c5..bf63ec9fd575 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -103,7 +104,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -218,7 +219,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateStandardSku.json
index 697892c63878..dfd4ce4099da 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateStandardSku.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateStandardSku.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateWithInboundNatPool.json
index 2d86f9a2990e..ab763fbccb51 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateWithInboundNatPool.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -54,7 +55,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -110,7 +111,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateWithZones.json
index 3d8e729e6f79..98a9382ba9ef 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkInterfaceCreate.json
index 477f1c9c1d52..ab9741eee1b2 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkSecurityGroupCreate.json
index 24a3435037d1..cb29450a4b4c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkSecurityGroupCreateWithRule.json
index ece7e13536f1..678fbd34764c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCaptureCreate.json
index 013ffbcfffea..e296d17928ed 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCaptureCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -8,9 +8,9 @@
"parameters" : {
"properties" : {
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -34,9 +34,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCaptureGet.json
index 3d775795fc6d..9179229d9f95 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCaptureGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -15,9 +15,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCapturesList.json
index 4fc265d1f307..78244ea322dd 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCapturesList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/NetworkWatcherPacketCapturesList.json
@@ -16,9 +16,9 @@
"properties" : {
"provisioningState" : "Updating",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
@@ -40,9 +40,9 @@
"properties" : {
"provisioningState" : "Succeeded",
"target" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
- "bytesToCapturePerPacket" : "10000",
- "totalBytesPerSession" : "100000",
- "timeLimitInSeconds" : "100",
+ "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",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateCustomizedValues.json
index 6197f3b768ae..e9eacf07d4dd 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateDefaults.json
index 9e3f2019f66a..3e34b8d6397b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateDns.json
index a05735d3a4e9..68bad9c06725 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/PublicIpAddressCreateDns.json
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/RouteTableCreate.json
index 115bd1012de6..3b75a22826c2 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/RouteTableCreateWithRoute.json
index 4eeff1d2974e..c6007056dd5d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/RouteTableCreateWithRoute.json
@@ -16,7 +16,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreate.json
index 62b958669d96..884694e76a65 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,7 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
+ "location": "eastus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +12,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +40,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreateServiceEndpoints.json
index 1a4f7a3a3de2..857f2a0d5855 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreateSubnet.json
index c7770e41276a..4a6a7299c132 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkGatewayUpdate.json
index 876bfb2cd0ea..47614239aa45 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkGatewayUpdate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/examples/VirtualNetworkGatewayUpdate.json
@@ -17,9 +17,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
}
},
- "name": "gwipconfig1",
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1"
+ "name": "gwipconfig1"
}
],
"gatewayType": "Vpn",
@@ -28,18 +26,14 @@
"activeActive": false,
"sku": {
"name": "VpnGw1",
- "tier": "VpnGw1",
- "capacity": 0
+ "tier": "VpnGw1"
},
"bgpSettings": {
"asn": 65515,
"bgpPeeringAddress": "10.0.1.30",
"peerWeight": 0
- },
- "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
},
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
"location": "centralus"
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/expressRouteCrossConnection.json
index cce8fd01f745..bbebfdd30463 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/expressRouteCrossConnection.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/expressRouteCrossConnection.json
@@ -53,7 +53,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
@@ -93,7 +93,7 @@
],
"responses": {
"200": {
- "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkInterface.json
index 042b4c82c4d0..ad1131ff6a41 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkInterface.json
@@ -862,14 +862,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -884,14 +884,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkSecurityGroup.json
index 1320c3cc5098..964fbed085c9 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkSecurityGroup.json
@@ -630,15 +630,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -656,7 +656,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -707,7 +707,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkWatcher.json
index b9101ece2b95..271b73c2c21d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkWatcher.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/networkWatcher.json
@@ -2797,7 +2797,7 @@
"properties": {
"location": {
"type": "string",
- "description": "Connection monitor location."
+ "description": "Connection monitor location."
},
"tags": {
"type": "object",
@@ -2982,7 +2982,7 @@
"description": "Information about connection states."
}
},
- "description": "List of connection states snaphots."
+ "description": "List of connection states snapshots."
},
"ConnectionStateSnapshot": {
"properties": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/virtualNetworkGateway.json
index 2a9a64baee01..24bc9ee8cb3a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-02-01/virtualNetworkGateway.json
@@ -754,7 +754,7 @@
"description": "Accepted and the operation will complete asynchronously."
},
"200": {
- "description": "Request successful. The operation sets the specificed vpnclient ipsec parameters for P2S client of the virtual network gateway.",
+ "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.",
"schema": {
"$ref": "#/definitions/VpnClientIPsecParameters"
}
@@ -1717,7 +1717,7 @@
"$ref": "#/definitions/IpsecPolicy"
},
"description": "VpnClientIpsecPolicies for virtual network gateway P2S client."
- },
+ },
"radiusServerAddress": {
"type": "string",
"description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection."
@@ -2058,7 +2058,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2325,7 +2325,7 @@
"ECP384",
"PFS24",
"PFS14",
- "PFSMM"
+ "PFSMM"
],
"x-ms-enum": {
"name": "PfsGroup",
@@ -2474,7 +2474,7 @@
"pfsGroup"
],
"description": "An IPSec parameters for a virtual network gateway P2S connection."
- },
+ },
"LocalNetworkGatewayPropertiesFormat": {
"properties": {
"localNetworkAddressSpace": {
@@ -2572,7 +2572,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/applicationGateway.json
index 15d374aa163a..e4f287d8f7de 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/applicationGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/applicationGateway.json
@@ -1769,7 +1769,7 @@
"exclusiveMaximum": false,
"minimum": 8,
"exclusiveMinimum": false,
- "description": "Maxium request body size for WAF."
+ "description": "Maximum request body size for WAF."
}
},
"required": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/azureFirewall.json
index 3c088eaf7d63..6001a93eae9c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/azureFirewall.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/azureFirewall.json
@@ -1,273 +1,273 @@
-{
+{
"swagger":"2.0",
- "info":{
+ "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-04-01"
},
"host":"management.azure.com",
- "schemes":[
+ "schemes":[
"https"
],
- "consumes":[
+ "consumes":[
"application/json"
],
- "produces":[
+ "produces":[
"application/json"
],
- "security":[
- {
- "azure_auth":[
+ "security":[
+ {
+ "azure_auth":[
"user_impersonation"
]
}
],
- "securityDefinitions":{
- "azure_auth":{
+ "securityDefinitions":{
+ "azure_auth":{
"type":"oauth2",
"authorizationUrl":"https://login.microsoftonline.com/common/oauth2/authorize",
"flow":"implicit",
"description":"Azure Active Directory OAuth2 Flow",
- "scopes":{
+ "scopes":{
"user_impersonation":"impersonate your user account"
}
}
},
- "paths":{
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
- "delete":{
- "tags":[
+ "paths":{
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
+ "delete":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Delete",
"description":"Deletes the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "202":{
+ "responses":{
+ "202":{
"description":"Accepted and the operation will complete asynchronously."
},
- "204":{
+ "204":{
"description":"Request successful. Resource with the specified name does not exist"
},
- "200":{
+ "200":{
"description":"Delete successful."
}
},
- "x-ms-examples":{
- "Delete Azure Firewall":{
+ "x-ms-examples":{
+ "Delete Azure Firewall":{
"$ref":"./examples/AzureFirewallDelete.json"
}
},
"x-ms-long-running-operation":true
},
- "get":{
- "tags":[
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Get",
"description":"Gets the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Request successful. The operation returns a AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Get Azure Firewall":{
+ "x-ms-examples":{
+ "Get Azure Firewall":{
"$ref":"./examples/AzureFirewallGet.json"
}
}
},
- "put":{
- "tags":[
+ "put":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_CreateOrUpdate",
"description":"Creates or updates the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"name":"parameters",
"in":"body",
"required":true,
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"Parameters supplied to the create or update Azure Firewall operation."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "201":{
+ "responses":{
+ "201":{
"description":"Create successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
},
- "200":{
+ "200":{
"description":"Update successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Create Azure Firewall":{
+ "x-ms-examples":{
+ "Create Azure Firewall":{
"$ref":"./examples/AzureFirewallPut.json"
}
},
"x-ms-long-running-operation":true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_List",
"description":"Lists all Azure Firewalls in a resource group.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given resource group":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given resource group":{
"$ref":"./examples/AzureFirewallListByResourceGroup.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_ListAll",
"description":"Gets all the Azure Firewalls in a subscription.",
- "parameters":[
- {
+ "parameters":[
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given subscription":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given subscription":{
"$ref":"./examples/AzureFirewallListBySubscription.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
}
},
- "definitions":{
- "AzureFirewallIPConfigurationPropertiesFormat":{
- "properties":{
+ "definitions":{
+ "AzureFirewallIPConfigurationPropertiesFormat":{
+ "properties":{
"privateIPAddress": {
"type": "string",
"description": "The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes."
},
- "subnet":{
+ "subnet":{
"$ref":"./network.json#/definitions/SubResource",
"description":"Reference of the subnet resource. This resource must be named 'AzureFirewallSubnet'."
},
- "internalPublicIpAddress":{
+ "internalPublicIpAddress":{
"$ref":"./network.json#/definitions/SubResource",
"description":"Reference of the PublicIP resource. This field is a mandatory input."
},
@@ -275,103 +275,103 @@
"$ref": "./network.json#/definitions/SubResource",
"description": "Reference of the PublicIP resource. This field is populated in the output."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of IP configuration of an Azure Firewall."
},
- "AzureFirewallIPConfiguration":{
- "properties":{
- "properties":{
+ "AzureFirewallIPConfiguration":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallIPConfigurationPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"description":"A unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"IP configuration of an Azure Firewall."
},
- "AzureFirewallPropertiesFormat":{
- "properties":{
- "applicationRuleCollections":{
+ "AzureFirewallPropertiesFormat":{
+ "properties":{
+ "applicationRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleCollection"
},
"description":"Collection of application rule collections used by a Azure Firewall."
},
- "networkRuleCollections":{
+ "networkRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleCollection"
},
"description":"Collection of network rule collections used by a Azure Firewall."
},
- "ipConfigurations":{
+ "ipConfigurations":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallIPConfiguration"
},
"description":"IP configuration of the Azure Firewall resource."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the Azure Firewall."
},
- "AzureFirewall":{
- "properties":{
- "properties":{
+ "AzureFirewall":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallPropertiesFormat"
},
- "etag":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/Resource"
}
],
"description":"Azure Firewall resource"
},
- "AzureFirewallListResult":{
- "properties":{
- "value":{
+ "AzureFirewallListResult":{
+ "properties":{
+ "value":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"List of a Azure Firewalls in a resource group."
},
- "nextLink":{
+ "nextLink":{
"type":"string",
"description":"URL to get the next set of results."
}
},
"description":"Response for ListAzureFirewalls API service call."
},
- "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -380,54 +380,54 @@
"exclusiveMinimum":false,
"description":"Priority of the application rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRule"
},
"description":"Collection of rules used by a application rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the application rule collection."
},
- "AzureFirewallApplicationRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallApplicationRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Application rule collection resource"
},
- "AzureFirewallApplicationRuleProtocol":{
- "properties":{
- "protocolType":{
+ "AzureFirewallApplicationRuleProtocol":{
+ "properties":{
+ "protocolType":{
"description":"Protocol type",
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocolType"
},
- "port":{
+ "port":{
"type":"integer",
"format":"int32",
"maximum":64000,
@@ -439,43 +439,43 @@
},
"description":"Properties of the application rule protocol."
},
- "AzureFirewallApplicationRule":{
- "properties":{
- "name":{
+ "AzureFirewallApplicationRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the application rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocol"
},
"description":"Array of ApplicationRuleProtocols."
},
- "targetUrls":{
+ "targetUrls":{
"type":"array",
"description":"List of URLs for this rule.",
- "items":{
+ "items":{
"type":"string"
}
}
},
"description":"Properties of an application rule."
},
- "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -484,146 +484,146 @@
"exclusiveMinimum":false,
"description":"Priority of the network rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRule"
},
"description":"Collection of rules used by a network rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the network rule collection."
},
- "AzureFirewallNetworkRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallNetworkRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Network rule collection resource"
},
- "AzureFirewallNetworkRule":{
- "properties":{
- "name":{
+ "AzureFirewallNetworkRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the network rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
},
"description":"Array of AzureFirewallNetworkRuleProtocols."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationAddresses":{
+ "destinationAddresses":{
"type":"array",
"description":"List of destination IP addresses.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationPorts":{
+ "destinationPorts":{
"type":"array",
"description":"List of destination ports.",
- "items":{
+ "items":{
"type":"string"
}
}
},
"description":"Properties of the network rule."
},
- "AzureFirewallRCAction":{
- "properties":{
- "type":{
+ "AzureFirewallRCAction":{
+ "properties":{
+ "type":{
"description":"The type of action.",
"$ref":"#/definitions/AzureFirewallRCActionType"
}
},
"description":"Properties of the AzureFirewallRCAction."
},
- "AzureFirewallRCActionType":{
+ "AzureFirewallRCActionType":{
"type":"string",
"description":"The action type of a rule collection",
- "enum":[
+ "enum":[
"Allow",
"Deny"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallRCActionType",
"modelAsString":true
}
},
- "ProvisioningState":{
+ "ProvisioningState":{
"type":"string",
"readOnly":true,
- "description":"The current provisisoning state.",
- "enum":[
+ "description":"The current provisioning state.",
+ "enum":[
"Succeeded",
"Updating",
"Deleting",
"Failed"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"ProvisioningState",
"modelAsString":true
}
},
- "AzureFirewallNetworkRuleProtocol":{
+ "AzureFirewallNetworkRuleProtocol":{
"type":"string",
"description":"The protocol of a Network Rule resource",
- "enum":[
+ "enum":[
"TCP",
"UDP",
"Any",
- "ICMP"
+ "ICMP"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallNetworkRuleProtocol",
"modelAsString":true
}
},
- "AzureFirewallApplicationRuleProtocolType":{
+ "AzureFirewallApplicationRuleProtocolType":{
"type":"string",
"description":"The protocol type of a Application Rule resource",
- "enum":[
+ "enum":[
"Http",
"Https"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallApplicationRuleProtocolType",
"modelAsString":true
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreate.json
index 75bb03258ca7..a00dbe82b4a6 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -103,7 +104,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -218,7 +219,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateStandardSku.json
index ab8c7bad3063..db4465554d44 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateStandardSku.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateStandardSku.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateWithInboundNatPool.json
index 756abc1d18cb..2f1d4db1b622 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateWithInboundNatPool.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -54,7 +55,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -110,7 +111,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateWithZones.json
index 8fc74d0eb940..e791e67a2e1d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkInterfaceCreate.json
index f5739e83f8e0..f616b90fb1a9 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkSecurityGroupCreate.json
index 603e6e07b780..62453c73ee37 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkSecurityGroupCreateWithRule.json
index 032ea84374b6..2110f615aa5d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateCustomizedValues.json
index cd9a0c1f9494..e5dee7fdfc8b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateDefaults.json
index 8acb1aaebca4..749f2e895e56 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateDns.json
index 07fac0d9d280..c238e3f6f201 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/PublicIpAddressCreateDns.json
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/RouteTableCreate.json
index 93ff693354d0..d1573cceed92 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/RouteTableCreateWithRoute.json
index ca121dfcb3a5..08dfb75cc57a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/RouteTableCreateWithRoute.json
@@ -16,7 +16,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreate.json
index 69da1d5b6e87..0cf584fe2a30 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreateServiceEndpoints.json
index c3db16f6c536..7649ac46efb4 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreateSubnet.json
index f415a3a1e907..8d69de37a4be 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkGatewayUpdate.json
index b0c24307cc7b..5df826ba4edb 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkGatewayUpdate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/examples/VirtualNetworkGatewayUpdate.json
@@ -17,9 +17,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
}
},
- "name": "gwipconfig1",
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1"
+ "name": "gwipconfig1"
}
],
"gatewayType": "Vpn",
@@ -28,18 +26,14 @@
"activeActive": false,
"sku": {
"name": "VpnGw1",
- "tier": "VpnGw1",
- "capacity": 0
+ "tier": "VpnGw1"
},
"bgpSettings": {
"asn": 65515,
"bgpPeeringAddress": "10.0.1.30",
"peerWeight": 0
- },
- "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
},
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
"location": "centralus"
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/expressRouteCrossConnection.json
index 51f604de4e97..2ed23a695730 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/expressRouteCrossConnection.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/expressRouteCrossConnection.json
@@ -51,7 +51,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
@@ -91,7 +91,7 @@
],
"responses": {
"200": {
- "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkInterface.json
index 1b23ac8452f1..2ef359995870 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkInterface.json
@@ -860,14 +860,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -882,14 +882,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkSecurityGroup.json
index b90e1fa31ecd..0534b6beb831 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkSecurityGroup.json
@@ -628,15 +628,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -654,7 +654,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -705,7 +705,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkWatcher.json
index 1628139a0fe3..f456517c8b55 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkWatcher.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/networkWatcher.json
@@ -2916,7 +2916,7 @@
"properties": {
"location": {
"type": "string",
- "description": "Connection monitor location."
+ "description": "Connection monitor location."
},
"tags": {
"type": "object",
@@ -3101,7 +3101,7 @@
"description": "Information about connection states."
}
},
- "description": "List of connection states snaphots."
+ "description": "List of connection states snapshots."
},
"ConnectionStateSnapshot": {
"properties": {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/virtualNetworkGateway.json
index fef7c281e292..ac078d5b84c9 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/virtualNetworkGateway.json
@@ -752,7 +752,7 @@
"description": "Accepted and the operation will complete asynchronously."
},
"200": {
- "description": "Request successful. The operation sets the specificed vpnclient ipsec parameters for P2S client of the virtual network gateway.",
+ "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.",
"schema": {
"$ref": "#/definitions/VpnClientIPsecParameters"
}
@@ -803,8 +803,8 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
- }
+ "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
+ }
}
},
@@ -1723,7 +1723,7 @@
"$ref": "#/definitions/IpsecPolicy"
},
"description": "VpnClientIpsecPolicies for virtual network gateway P2S client."
- },
+ },
"radiusServerAddress": {
"type": "string",
"description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection."
@@ -2076,7 +2076,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2348,7 +2348,7 @@
"ECP384",
"PFS24",
"PFS14",
- "PFSMM"
+ "PFSMM"
],
"x-ms-enum": {
"name": "PfsGroup",
@@ -2497,7 +2497,7 @@
"pfsGroup"
],
"description": "An IPSec parameters for a virtual network gateway P2S connection."
- },
+ },
"LocalNetworkGatewayPropertiesFormat": {
"properties": {
"localNetworkAddressSpace": {
@@ -2595,7 +2595,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/virtualWan.json
index a709ebc7fe14..0afbef08c310 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/virtualWan.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/virtualWan.json
@@ -328,7 +328,7 @@
"x-ms-examples": {
"VpnSiteGet": { "$ref": "./examples/VpnSiteGet.json" }
},
- "description": "Retrieves the details of a VPNsite.",
+ "description": "Retrieves the details of a VPN site.",
"parameters": [
{
"$ref": "./network.json#/parameters/SubscriptionIdParameter"
@@ -2039,7 +2039,7 @@
"ProvisioningState": {
"type": "string",
"readOnly": true,
- "description": "The current provisisoning state.",
+ "description": "The current provisioning state.",
"enum": [
"Succeeded",
"Updating",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/applicationGateway.json
index 1601823e0af6..a2de5f0f37cd 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/applicationGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/applicationGateway.json
@@ -1769,7 +1769,7 @@
"exclusiveMaximum": false,
"minimum": 8,
"exclusiveMinimum": false,
- "description": "Maxium request body size for WAF."
+ "description": "Maximum request body size for WAF."
}
},
"required": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/azureFirewall.json
index b71b9bf3f934..056c7b9138eb 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/azureFirewall.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/azureFirewall.json
@@ -1,273 +1,273 @@
-{
+{
"swagger":"2.0",
- "info":{
+ "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-06-01"
},
"host":"management.azure.com",
- "schemes":[
+ "schemes":[
"https"
],
- "consumes":[
+ "consumes":[
"application/json"
],
- "produces":[
+ "produces":[
"application/json"
],
- "security":[
- {
- "azure_auth":[
+ "security":[
+ {
+ "azure_auth":[
"user_impersonation"
]
}
],
- "securityDefinitions":{
- "azure_auth":{
+ "securityDefinitions":{
+ "azure_auth":{
"type":"oauth2",
"authorizationUrl":"https://login.microsoftonline.com/common/oauth2/authorize",
"flow":"implicit",
"description":"Azure Active Directory OAuth2 Flow",
- "scopes":{
+ "scopes":{
"user_impersonation":"impersonate your user account"
}
}
},
- "paths":{
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
- "delete":{
- "tags":[
+ "paths":{
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
+ "delete":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Delete",
"description":"Deletes the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "202":{
+ "responses":{
+ "202":{
"description":"Accepted and the operation will complete asynchronously."
},
- "204":{
+ "204":{
"description":"Request successful. Resource with the specified name does not exist"
},
- "200":{
+ "200":{
"description":"Delete successful."
}
},
- "x-ms-examples":{
- "Delete Azure Firewall":{
+ "x-ms-examples":{
+ "Delete Azure Firewall":{
"$ref":"./examples/AzureFirewallDelete.json"
}
},
"x-ms-long-running-operation":true
},
- "get":{
- "tags":[
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Get",
"description":"Gets the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Request successful. The operation returns a AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Get Azure Firewall":{
+ "x-ms-examples":{
+ "Get Azure Firewall":{
"$ref":"./examples/AzureFirewallGet.json"
}
}
},
- "put":{
- "tags":[
+ "put":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_CreateOrUpdate",
"description":"Creates or updates the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"name":"parameters",
"in":"body",
"required":true,
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"Parameters supplied to the create or update Azure Firewall operation."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "201":{
+ "responses":{
+ "201":{
"description":"Create successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
},
- "200":{
+ "200":{
"description":"Update successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Create Azure Firewall":{
+ "x-ms-examples":{
+ "Create Azure Firewall":{
"$ref":"./examples/AzureFirewallPut.json"
}
},
"x-ms-long-running-operation":true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_List",
"description":"Lists all Azure Firewalls in a resource group.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given resource group":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given resource group":{
"$ref":"./examples/AzureFirewallListByResourceGroup.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_ListAll",
"description":"Gets all the Azure Firewalls in a subscription.",
- "parameters":[
- {
+ "parameters":[
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given subscription":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given subscription":{
"$ref":"./examples/AzureFirewallListBySubscription.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
}
},
- "definitions":{
- "AzureFirewallIPConfigurationPropertiesFormat":{
- "properties":{
+ "definitions":{
+ "AzureFirewallIPConfigurationPropertiesFormat":{
+ "properties":{
"privateIPAddress": {
"type": "string",
"description": "The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes."
},
- "subnet":{
+ "subnet":{
"$ref":"./network.json#/definitions/SubResource",
"description":"Reference of the subnet resource. This resource must be named 'AzureFirewallSubnet'."
},
- "internalPublicIpAddress":{
+ "internalPublicIpAddress":{
"$ref":"./network.json#/definitions/SubResource",
"description":"Reference of the PublicIP resource. This field is a mandatory input."
},
@@ -275,103 +275,103 @@
"$ref": "./network.json#/definitions/SubResource",
"description": "Reference of the PublicIP resource. This field is populated in the output."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of IP configuration of an Azure Firewall."
},
- "AzureFirewallIPConfiguration":{
- "properties":{
- "properties":{
+ "AzureFirewallIPConfiguration":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallIPConfigurationPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"description":"A unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"IP configuration of an Azure Firewall."
},
- "AzureFirewallPropertiesFormat":{
- "properties":{
- "applicationRuleCollections":{
+ "AzureFirewallPropertiesFormat":{
+ "properties":{
+ "applicationRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleCollection"
},
"description":"Collection of application rule collections used by a Azure Firewall."
},
- "networkRuleCollections":{
+ "networkRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleCollection"
},
"description":"Collection of network rule collections used by a Azure Firewall."
},
- "ipConfigurations":{
+ "ipConfigurations":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallIPConfiguration"
},
"description":"IP configuration of the Azure Firewall resource."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the Azure Firewall."
},
- "AzureFirewall":{
- "properties":{
- "properties":{
+ "AzureFirewall":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallPropertiesFormat"
},
- "etag":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/Resource"
}
],
"description":"Azure Firewall resource"
},
- "AzureFirewallListResult":{
- "properties":{
- "value":{
+ "AzureFirewallListResult":{
+ "properties":{
+ "value":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"List of a Azure Firewalls in a resource group."
},
- "nextLink":{
+ "nextLink":{
"type":"string",
"description":"URL to get the next set of results."
}
},
"description":"Response for ListAzureFirewalls API service call."
},
- "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -380,54 +380,54 @@
"exclusiveMinimum":false,
"description":"Priority of the application rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRule"
},
"description":"Collection of rules used by a application rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the application rule collection."
},
- "AzureFirewallApplicationRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallApplicationRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Application rule collection resource"
},
- "AzureFirewallApplicationRuleProtocol":{
- "properties":{
- "protocolType":{
+ "AzureFirewallApplicationRuleProtocol":{
+ "properties":{
+ "protocolType":{
"description":"Protocol type",
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocolType"
},
- "port":{
+ "port":{
"type":"integer",
"format":"int32",
"maximum":64000,
@@ -439,43 +439,43 @@
},
"description":"Properties of the application rule protocol."
},
- "AzureFirewallApplicationRule":{
- "properties":{
- "name":{
+ "AzureFirewallApplicationRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the application rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocol"
},
"description":"Array of ApplicationRuleProtocols."
},
- "targetUrls":{
+ "targetUrls":{
"type":"array",
"description":"List of URLs for this rule.",
- "items":{
+ "items":{
"type":"string"
}
}
},
"description":"Properties of an application rule."
},
- "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -484,146 +484,146 @@
"exclusiveMinimum":false,
"description":"Priority of the network rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRule"
},
"description":"Collection of rules used by a network rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the network rule collection."
},
- "AzureFirewallNetworkRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallNetworkRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Network rule collection resource"
},
- "AzureFirewallNetworkRule":{
- "properties":{
- "name":{
+ "AzureFirewallNetworkRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the network rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
},
"description":"Array of AzureFirewallNetworkRuleProtocols."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationAddresses":{
+ "destinationAddresses":{
"type":"array",
"description":"List of destination IP addresses.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationPorts":{
+ "destinationPorts":{
"type":"array",
"description":"List of destination ports.",
- "items":{
+ "items":{
"type":"string"
}
}
},
"description":"Properties of the network rule."
},
- "AzureFirewallRCAction":{
- "properties":{
- "type":{
+ "AzureFirewallRCAction":{
+ "properties":{
+ "type":{
"description":"The type of action.",
"$ref":"#/definitions/AzureFirewallRCActionType"
}
},
"description":"Properties of the AzureFirewallRCAction."
},
- "AzureFirewallRCActionType":{
+ "AzureFirewallRCActionType":{
"type":"string",
"description":"The action type of a rule collection",
- "enum":[
+ "enum":[
"Allow",
"Deny"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallRCActionType",
"modelAsString":true
}
},
- "ProvisioningState":{
+ "ProvisioningState":{
"type":"string",
"readOnly":true,
- "description":"The current provisisoning state.",
- "enum":[
+ "description":"The current provisioning state.",
+ "enum":[
"Succeeded",
"Updating",
"Deleting",
"Failed"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"ProvisioningState",
"modelAsString":true
}
},
- "AzureFirewallNetworkRuleProtocol":{
+ "AzureFirewallNetworkRuleProtocol":{
"type":"string",
"description":"The protocol of a Network Rule resource",
- "enum":[
+ "enum":[
"TCP",
"UDP",
"Any",
"ICMP"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallNetworkRuleProtocol",
"modelAsString":true
}
},
- "AzureFirewallApplicationRuleProtocolType":{
+ "AzureFirewallApplicationRuleProtocolType":{
"type":"string",
"description":"The protocol type of a Application Rule resource",
- "enum":[
+ "enum":[
"Http",
"Https"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallApplicationRuleProtocolType",
"modelAsString":true
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreate.json
index 24bd1b6c2a4e..906cd4463073 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -103,7 +104,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -218,7 +219,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateStandardSku.json
index 07ca94705ffa..74c815a21fd2 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateStandardSku.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateStandardSku.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateWithInboundNatPool.json
index 09423b71fce1..0e49d74b9b8a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateWithInboundNatPool.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -54,7 +55,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -110,7 +111,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateWithZones.json
index 9c7e135cb937..94730d1b4f82 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkInterfaceCreate.json
index 26baa1e50ac5..9cd9d3cb0be3 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkSecurityGroupCreate.json
index 78cd5e63b04c..ffb447f06731 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkSecurityGroupCreateWithRule.json
index a5ec3509d785..7057a9f1fc61 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateCustomizedValues.json
index 6f002f65af6c..1458f774772e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateDefaults.json
index f9c6237893bf..0f29e29a8df7 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateDns.json
index e6ce5f15b156..c521dccdf444 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/PublicIpAddressCreateDns.json
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/RouteTableCreate.json
index f5a7d86807fc..958a79087a3a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/RouteTableCreateWithRoute.json
index c72238b9e8a2..65b4ecd9d09e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/RouteTableCreateWithRoute.json
@@ -16,7 +16,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreate.json
index ac312f29999a..d4707f28098d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreateServiceEndpoints.json
index 1fc19c8dbf40..ff53f43c9f0d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreateSubnet.json
index 5df973f31236..991deca72de4 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkGatewayUpdate.json
index c7f3b3dc029c..1101821fde10 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkGatewayUpdate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/examples/VirtualNetworkGatewayUpdate.json
@@ -17,9 +17,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
}
},
- "name": "gwipconfig1",
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1"
+ "name": "gwipconfig1"
}
],
"gatewayType": "Vpn",
@@ -28,18 +26,14 @@
"activeActive": false,
"sku": {
"name": "VpnGw1",
- "tier": "VpnGw1",
- "capacity": 0
+ "tier": "VpnGw1"
},
"bgpSettings": {
"asn": 65515,
"bgpPeeringAddress": "10.0.1.30",
"peerWeight": 0
- },
- "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
},
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
"location": "centralus"
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/expressRouteCrossConnection.json
index 662c14d9e7dd..85ddf6f82e4f 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/expressRouteCrossConnection.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/expressRouteCrossConnection.json
@@ -51,7 +51,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
@@ -91,7 +91,7 @@
],
"responses": {
"200": {
- "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkInterface.json
index d2b284c3e6e4..c780641cb1ab 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkInterface.json
@@ -860,14 +860,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -882,14 +882,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkSecurityGroup.json
index ba328c13326f..230e4e2ea201 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkSecurityGroup.json
@@ -628,15 +628,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -654,7 +654,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -705,7 +705,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkWatcher.json
index 53c78cec97ca..9a5b9087c2ec 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkWatcher.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/networkWatcher.json
@@ -1785,8 +1785,8 @@
],
"operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic",
"x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
},
"description": "Get network configuration diagnostic.",
"parameters": [
@@ -1822,7 +1822,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns the result of network condifuration diagnostic.",
+ "description": "Request successful. The operation returns the result of network configuration diagnostic.",
"schema": {
"$ref": "#/definitions/NetworkConfigurationDiagnosticResponse"
}
@@ -3172,7 +3172,7 @@
"properties": {
"location": {
"type": "string",
- "description": "Connection monitor location."
+ "description": "Connection monitor location."
},
"tags": {
"type": "object",
@@ -3357,7 +3357,7 @@
"description": "Information about connection states."
}
},
- "description": "List of connection states snaphots."
+ "description": "List of connection states snapshots."
},
"ConnectionStateSnapshot": {
"properties": {
@@ -3484,7 +3484,7 @@
},
"destinationPort": {
"type": "string",
- "description": "Traffice destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
+ "description": "Traffic destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
}
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/virtualNetworkGateway.json
index 611c1298e30d..d3c5fc73173b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/virtualNetworkGateway.json
@@ -795,7 +795,7 @@
"description": "Accepted and the operation will complete asynchronously."
},
"200": {
- "description": "Request successful. The operation sets the specificed vpnclient ipsec parameters for P2S client of the virtual network gateway.",
+ "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.",
"schema": {
"$ref": "#/definitions/VpnClientIPsecParameters"
}
@@ -846,8 +846,8 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
- }
+ "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
+ }
}
},
@@ -1766,7 +1766,7 @@
"$ref": "#/definitions/IpsecPolicy"
},
"description": "VpnClientIpsecPolicies for virtual network gateway P2S client."
- },
+ },
"radiusServerAddress": {
"type": "string",
"description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection."
@@ -2119,7 +2119,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2391,7 +2391,7 @@
"ECP384",
"PFS24",
"PFS14",
- "PFSMM"
+ "PFSMM"
],
"x-ms-enum": {
"name": "PfsGroup",
@@ -2540,7 +2540,7 @@
"pfsGroup"
],
"description": "An IPSec parameters for a virtual network gateway P2S connection."
- },
+ },
"LocalNetworkGatewayPropertiesFormat": {
"properties": {
"localNetworkAddressSpace": {
@@ -2638,7 +2638,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/virtualWan.json
index e3fe7ca579ad..0b61382b6550 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/virtualWan.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-06-01/virtualWan.json
@@ -328,7 +328,7 @@
"x-ms-examples": {
"VpnSiteGet": { "$ref": "./examples/VpnSiteGet.json" }
},
- "description": "Retrieves the details of a VPNsite.",
+ "description": "Retrieves the details of a VPN site.",
"parameters": [
{
"$ref": "./network.json#/parameters/SubscriptionIdParameter"
@@ -2039,7 +2039,7 @@
"ProvisioningState": {
"type": "string",
"readOnly": true,
- "description": "The current provisisoning state.",
+ "description": "The current provisioning state.",
"enum": [
"Succeeded",
"Updating",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/applicationGateway.json
index 378e3a42a1b1..9c4b9392e145 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/applicationGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/applicationGateway.json
@@ -1769,7 +1769,7 @@
"exclusiveMaximum": false,
"minimum": 8,
"exclusiveMinimum": false,
- "description": "Maxium request body size for WAF."
+ "description": "Maximum request body size for WAF."
}
},
"required": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/azureFirewall.json
index d412bcf73479..076fd654040b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/azureFirewall.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/azureFirewall.json
@@ -1,273 +1,273 @@
-{
+{
"swagger":"2.0",
- "info":{
+ "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-07-01"
},
"host":"management.azure.com",
- "schemes":[
+ "schemes":[
"https"
],
- "consumes":[
+ "consumes":[
"application/json"
],
- "produces":[
+ "produces":[
"application/json"
],
- "security":[
- {
- "azure_auth":[
+ "security":[
+ {
+ "azure_auth":[
"user_impersonation"
]
}
],
- "securityDefinitions":{
- "azure_auth":{
+ "securityDefinitions":{
+ "azure_auth":{
"type":"oauth2",
"authorizationUrl":"https://login.microsoftonline.com/common/oauth2/authorize",
"flow":"implicit",
"description":"Azure Active Directory OAuth2 Flow",
- "scopes":{
+ "scopes":{
"user_impersonation":"impersonate your user account"
}
}
},
- "paths":{
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
- "delete":{
- "tags":[
+ "paths":{
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
+ "delete":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Delete",
"description":"Deletes the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "202":{
+ "responses":{
+ "202":{
"description":"Accepted and the operation will complete asynchronously."
},
- "204":{
+ "204":{
"description":"Request successful. Resource with the specified name does not exist"
},
- "200":{
+ "200":{
"description":"Delete successful."
}
},
- "x-ms-examples":{
- "Delete Azure Firewall":{
+ "x-ms-examples":{
+ "Delete Azure Firewall":{
"$ref":"./examples/AzureFirewallDelete.json"
}
},
"x-ms-long-running-operation":true
},
- "get":{
- "tags":[
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Get",
"description":"Gets the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Request successful. The operation returns a AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Get Azure Firewall":{
+ "x-ms-examples":{
+ "Get Azure Firewall":{
"$ref":"./examples/AzureFirewallGet.json"
}
}
},
- "put":{
- "tags":[
+ "put":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_CreateOrUpdate",
"description":"Creates or updates the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"name":"parameters",
"in":"body",
"required":true,
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"Parameters supplied to the create or update Azure Firewall operation."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "201":{
+ "responses":{
+ "201":{
"description":"Create successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
},
- "200":{
+ "200":{
"description":"Update successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Create Azure Firewall":{
+ "x-ms-examples":{
+ "Create Azure Firewall":{
"$ref":"./examples/AzureFirewallPut.json"
}
},
"x-ms-long-running-operation":true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_List",
"description":"Lists all Azure Firewalls in a resource group.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given resource group":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given resource group":{
"$ref":"./examples/AzureFirewallListByResourceGroup.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_ListAll",
"description":"Gets all the Azure Firewalls in a subscription.",
- "parameters":[
- {
+ "parameters":[
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given subscription":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given subscription":{
"$ref":"./examples/AzureFirewallListBySubscription.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
}
},
- "definitions":{
- "AzureFirewallIPConfigurationPropertiesFormat":{
- "properties":{
+ "definitions":{
+ "AzureFirewallIPConfigurationPropertiesFormat":{
+ "properties":{
"privateIPAddress": {
"type": "string",
"description": "The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes."
},
- "subnet":{
+ "subnet":{
"$ref":"./network.json#/definitions/SubResource",
"description":"Reference of the subnet resource. This resource must be named 'AzureFirewallSubnet'."
},
- "internalPublicIpAddress":{
+ "internalPublicIpAddress":{
"$ref":"./network.json#/definitions/SubResource",
"description":"Reference of the PublicIP resource. This field is a mandatory input."
},
@@ -275,103 +275,103 @@
"$ref": "./network.json#/definitions/SubResource",
"description": "Reference of the PublicIP resource. This field is populated in the output."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of IP configuration of an Azure Firewall."
},
- "AzureFirewallIPConfiguration":{
- "properties":{
- "properties":{
+ "AzureFirewallIPConfiguration":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallIPConfigurationPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"description":"A unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"IP configuration of an Azure Firewall."
},
- "AzureFirewallPropertiesFormat":{
- "properties":{
- "applicationRuleCollections":{
+ "AzureFirewallPropertiesFormat":{
+ "properties":{
+ "applicationRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleCollection"
},
"description":"Collection of application rule collections used by a Azure Firewall."
},
- "networkRuleCollections":{
+ "networkRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleCollection"
},
"description":"Collection of network rule collections used by a Azure Firewall."
},
- "ipConfigurations":{
+ "ipConfigurations":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallIPConfiguration"
},
"description":"IP configuration of the Azure Firewall resource."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the Azure Firewall."
},
- "AzureFirewall":{
- "properties":{
- "properties":{
+ "AzureFirewall":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallPropertiesFormat"
},
- "etag":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/Resource"
}
],
"description":"Azure Firewall resource"
},
- "AzureFirewallListResult":{
- "properties":{
- "value":{
+ "AzureFirewallListResult":{
+ "properties":{
+ "value":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"List of a Azure Firewalls in a resource group."
},
- "nextLink":{
+ "nextLink":{
"type":"string",
"description":"URL to get the next set of results."
}
},
"description":"Response for ListAzureFirewalls API service call."
},
- "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -380,54 +380,54 @@
"exclusiveMinimum":false,
"description":"Priority of the application rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRule"
},
"description":"Collection of rules used by a application rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the application rule collection."
},
- "AzureFirewallApplicationRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallApplicationRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Application rule collection resource"
},
- "AzureFirewallApplicationRuleProtocol":{
- "properties":{
- "protocolType":{
+ "AzureFirewallApplicationRuleProtocol":{
+ "properties":{
+ "protocolType":{
"description":"Protocol type",
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocolType"
},
- "port":{
+ "port":{
"type":"integer",
"format":"int32",
"maximum":64000,
@@ -439,43 +439,43 @@
},
"description":"Properties of the application rule protocol."
},
- "AzureFirewallApplicationRule":{
- "properties":{
- "name":{
+ "AzureFirewallApplicationRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the application rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocol"
},
"description":"Array of ApplicationRuleProtocols."
},
- "targetUrls":{
+ "targetUrls":{
"type":"array",
"description":"List of URLs for this rule.",
- "items":{
+ "items":{
"type":"string"
}
}
},
"description":"Properties of an application rule."
},
- "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -484,146 +484,146 @@
"exclusiveMinimum":false,
"description":"Priority of the network rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRule"
},
"description":"Collection of rules used by a network rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the network rule collection."
},
- "AzureFirewallNetworkRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallNetworkRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Network rule collection resource"
},
- "AzureFirewallNetworkRule":{
- "properties":{
- "name":{
+ "AzureFirewallNetworkRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the network rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
},
"description":"Array of AzureFirewallNetworkRuleProtocols."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationAddresses":{
+ "destinationAddresses":{
"type":"array",
"description":"List of destination IP addresses.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationPorts":{
+ "destinationPorts":{
"type":"array",
"description":"List of destination ports.",
- "items":{
+ "items":{
"type":"string"
}
}
},
"description":"Properties of the network rule."
},
- "AzureFirewallRCAction":{
- "properties":{
- "type":{
+ "AzureFirewallRCAction":{
+ "properties":{
+ "type":{
"description":"The type of action.",
"$ref":"#/definitions/AzureFirewallRCActionType"
}
},
"description":"Properties of the AzureFirewallRCAction."
},
- "AzureFirewallRCActionType":{
+ "AzureFirewallRCActionType":{
"type":"string",
"description":"The action type of a rule collection",
- "enum":[
+ "enum":[
"Allow",
"Deny"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallRCActionType",
"modelAsString":true
}
},
- "ProvisioningState":{
+ "ProvisioningState":{
"type":"string",
"readOnly":true,
- "description":"The current provisisoning state.",
- "enum":[
+ "description":"The current provisioning state.",
+ "enum":[
"Succeeded",
"Updating",
"Deleting",
"Failed"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"ProvisioningState",
"modelAsString":true
}
},
- "AzureFirewallNetworkRuleProtocol":{
+ "AzureFirewallNetworkRuleProtocol":{
"type":"string",
"description":"The protocol of a Network Rule resource",
- "enum":[
+ "enum":[
"TCP",
"UDP",
"Any",
"ICMP"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallNetworkRuleProtocol",
"modelAsString":true
}
},
- "AzureFirewallApplicationRuleProtocolType":{
+ "AzureFirewallApplicationRuleProtocolType":{
"type":"string",
"description":"The protocol type of a Application Rule resource",
- "enum":[
+ "enum":[
"Http",
"Https"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallApplicationRuleProtocolType",
"modelAsString":true
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreate.json
index 2556b33b29ee..6ea756d8ff95 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -105,7 +106,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -222,7 +223,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateStandardSku.json
index 3e86c61d683c..a9f1ef18f6da 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateStandardSku.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateStandardSku.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateWithInboundNatPool.json
index 58710357d474..e58985e16e64 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateWithInboundNatPool.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -55,7 +56,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -112,7 +113,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateWithZones.json
index 9cbd2a228790..53f051974d00 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkInterfaceCreate.json
index c77f1abf8334..c4135fee95ad 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkSecurityGroupCreate.json
index d58301eb24e3..85c24d37b0a2 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkSecurityGroupCreateWithRule.json
index 5b95114505d7..b41b386f57fe 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateCustomizedValues.json
index ec3fb9d87e63..cace80f835d8 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateDefaults.json
index 5a2a4add72fe..a717a6bc1490 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,15 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {},
+ "location": "eastus"
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +32,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateDns.json
index 14859b4182fb..d75e52d3c333 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/PublicIpAddressCreateDns.json
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/RouteTableCreate.json
index 3aedd909d788..c7bc36919e33 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/RouteTableCreateWithRoute.json
index 5247cb24fbf2..8942065fcfdf 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/RouteTableCreateWithRoute.json
@@ -16,7 +16,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreate.json
index b9f622b2f75c..5d0951709d26 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
index 4c1156614be1..42752bfeac0f 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateServiceEndpoints.json
index f2a4276b9774..c4a248ba1a93 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateSubnet.json
index 4500bed8e336..86c0ff12c032 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkGatewayUpdate.json
index 70c87cb572df..e1f15990c36c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkGatewayUpdate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/examples/VirtualNetworkGatewayUpdate.json
@@ -17,9 +17,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
}
},
- "name": "gwipconfig1",
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1"
+ "name": "gwipconfig1"
}
],
"gatewayType": "Vpn",
@@ -28,18 +26,14 @@
"activeActive": false,
"sku": {
"name": "VpnGw1",
- "tier": "VpnGw1",
- "capacity": 0
+ "tier": "VpnGw1"
},
"bgpSettings": {
"asn": 65515,
"bgpPeeringAddress": "10.0.1.30",
"peerWeight": 0
- },
- "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
},
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
"location": "centralus"
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/expressRouteCrossConnection.json
index 4ed4b0d6110a..700a67dcd974 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/expressRouteCrossConnection.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/expressRouteCrossConnection.json
@@ -51,7 +51,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
@@ -91,7 +91,7 @@
],
"responses": {
"200": {
- "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkInterface.json
index 96f386de7151..c4a34b983749 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkInterface.json
@@ -860,14 +860,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -882,14 +882,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkSecurityGroup.json
index c7b339b37cb7..38ff8af793c7 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkSecurityGroup.json
@@ -628,15 +628,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -654,7 +654,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -705,7 +705,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkWatcher.json
index 796bd3bb8571..ce05c2657890 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkWatcher.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/networkWatcher.json
@@ -1785,8 +1785,8 @@
],
"operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic",
"x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
},
"description": "Get network configuration diagnostic.",
"parameters": [
@@ -1822,7 +1822,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns the result of network condifuration diagnostic.",
+ "description": "Request successful. The operation returns the result of network configuration diagnostic.",
"schema": {
"$ref": "#/definitions/NetworkConfigurationDiagnosticResponse"
}
@@ -3172,7 +3172,7 @@
"properties": {
"location": {
"type": "string",
- "description": "Connection monitor location."
+ "description": "Connection monitor location."
},
"tags": {
"type": "object",
@@ -3357,7 +3357,7 @@
"description": "Information about connection states."
}
},
- "description": "List of connection states snaphots."
+ "description": "List of connection states snapshots."
},
"ConnectionStateSnapshot": {
"properties": {
@@ -3484,7 +3484,7 @@
},
"destinationPort": {
"type": "string",
- "description": "Traffice destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
+ "description": "Traffic destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
}
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/publicIpPrefix.json
index 187cb44761c1..d1d7432fee7e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/publicIpPrefix.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/publicIpPrefix.json
@@ -98,7 +98,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the PublicIPPrefx."
+ "description": "The name of the Public IP Prefix."
},
{
"$ref": "./network.json#/parameters/ApiVersionParameter"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/serviceEndpointPolicy.json
index 3c70c89b0993..7aba5d5f920e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/serviceEndpointPolicy.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/serviceEndpointPolicy.json
@@ -75,7 +75,7 @@
}
},
"x-ms-examples": {
- "Delete service endpoint Policys": { "$ref": "./examples/ServiceEndpointPolicyDelete.json" }
+ "Delete service endpoint Policy": { "$ref": "./examples/ServiceEndpointPolicyDelete.json" }
},
"x-ms-long-running-operation": true
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/virtualNetworkGateway.json
index d6ff7a5311f7..3a1356de3d24 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/virtualNetworkGateway.json
@@ -752,7 +752,7 @@
"description": "Accepted and the operation will complete asynchronously."
},
"200": {
- "description": "Request successful. The operation sets the specificed vpnclient ipsec parameters for P2S client of the virtual network gateway.",
+ "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.",
"schema": {
"$ref": "#/definitions/VpnClientIPsecParameters"
}
@@ -803,8 +803,8 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
- }
+ "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
+ }
}
},
@@ -1723,7 +1723,7 @@
"$ref": "#/definitions/IpsecPolicy"
},
"description": "VpnClientIpsecPolicies for virtual network gateway P2S client."
- },
+ },
"radiusServerAddress": {
"type": "string",
"description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection."
@@ -2076,7 +2076,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2352,7 +2352,7 @@
"ECP384",
"PFS24",
"PFS14",
- "PFSMM"
+ "PFSMM"
],
"x-ms-enum": {
"name": "PfsGroup",
@@ -2501,7 +2501,7 @@
"pfsGroup"
],
"description": "An IPSec parameters for a virtual network gateway P2S connection."
- },
+ },
"LocalNetworkGatewayPropertiesFormat": {
"properties": {
"localNetworkAddressSpace": {
@@ -2599,7 +2599,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/virtualWan.json
index d6f06a25479e..ea5bbb79d292 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/virtualWan.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-07-01/virtualWan.json
@@ -328,7 +328,7 @@
"x-ms-examples": {
"VpnSiteGet": { "$ref": "./examples/VpnSiteGet.json" }
},
- "description": "Retrieves the details of a VPNsite.",
+ "description": "Retrieves the details of a VPN site.",
"parameters": [
{
"$ref": "./network.json#/parameters/SubscriptionIdParameter"
@@ -2039,7 +2039,7 @@
"ProvisioningState": {
"type": "string",
"readOnly": true,
- "description": "The current provisisoning state.",
+ "description": "The current provisioning state.",
"enum": [
"Succeeded",
"Updating",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json
index 77c14e39c946..3e848b33dfb8 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/applicationGateway.json
@@ -1840,7 +1840,7 @@
"exclusiveMaximum": false,
"minimum": 8,
"exclusiveMinimum": false,
- "description": "Maxium request body size for WAF."
+ "description": "Maximum request body size for WAF."
},
"maxRequestBodySizeInKb": {
"type": "integer",
@@ -1849,7 +1849,7 @@
"exclusiveMaximum": false,
"minimum": 8,
"exclusiveMinimum": false,
- "description": "Maxium request body size in Kb for WAF."
+ "description": "Maximum request body size in Kb for WAF."
},
"fileUploadLimitInMb": {
"type": "integer",
@@ -1858,7 +1858,7 @@
"exclusiveMaximum": false,
"minimum": 0,
"exclusiveMinimum": false,
- "description": "Maxium file upload size in Mb for WAF."
+ "description": "Maximum file upload size in Mb for WAF."
},
"exclusions": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/azureFirewall.json
index 0fac88e45080..762df12354df 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/azureFirewall.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/azureFirewall.json
@@ -1,264 +1,264 @@
-{
+{
"swagger":"2.0",
- "info":{
+ "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-08-01"
},
"host":"management.azure.com",
- "schemes":[
+ "schemes":[
"https"
],
- "consumes":[
+ "consumes":[
"application/json"
],
- "produces":[
+ "produces":[
"application/json"
],
- "security":[
- {
- "azure_auth":[
+ "security":[
+ {
+ "azure_auth":[
"user_impersonation"
]
}
],
- "securityDefinitions":{
- "azure_auth":{
+ "securityDefinitions":{
+ "azure_auth":{
"type":"oauth2",
"authorizationUrl":"https://login.microsoftonline.com/common/oauth2/authorize",
"flow":"implicit",
"description":"Azure Active Directory OAuth2 Flow",
- "scopes":{
+ "scopes":{
"user_impersonation":"impersonate your user account"
}
}
},
- "paths":{
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
- "delete":{
- "tags":[
+ "paths":{
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
+ "delete":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Delete",
"description":"Deletes the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "202":{
+ "responses":{
+ "202":{
"description":"Accepted and the operation will complete asynchronously."
},
- "204":{
+ "204":{
"description":"Request successful. Resource with the specified name does not exist"
},
- "200":{
+ "200":{
"description":"Delete successful."
}
},
- "x-ms-examples":{
- "Delete Azure Firewall":{
+ "x-ms-examples":{
+ "Delete Azure Firewall":{
"$ref":"./examples/AzureFirewallDelete.json"
}
},
"x-ms-long-running-operation":true
},
- "get":{
- "tags":[
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Get",
"description":"Gets the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Request successful. The operation returns an AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Get Azure Firewall":{
+ "x-ms-examples":{
+ "Get Azure Firewall":{
"$ref":"./examples/AzureFirewallGet.json"
}
}
},
- "put":{
- "tags":[
+ "put":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_CreateOrUpdate",
"description":"Creates or updates the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"name":"parameters",
"in":"body",
"required":true,
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"Parameters supplied to the create or update Azure Firewall operation."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "201":{
+ "responses":{
+ "201":{
"description":"Create successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
},
- "200":{
+ "200":{
"description":"Update successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Create Azure Firewall":{
+ "x-ms-examples":{
+ "Create Azure Firewall":{
"$ref":"./examples/AzureFirewallPut.json"
}
},
"x-ms-long-running-operation":true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_List",
"description":"Lists all Azure Firewalls in a resource group.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given resource group":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given resource group":{
"$ref":"./examples/AzureFirewallListByResourceGroup.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_ListAll",
"description":"Gets all the Azure Firewalls in a subscription.",
- "parameters":[
- {
+ "parameters":[
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given subscription":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given subscription":{
"$ref":"./examples/AzureFirewallListBySubscription.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
}
},
- "definitions":{
- "AzureFirewallIPConfigurationPropertiesFormat":{
- "properties":{
+ "definitions":{
+ "AzureFirewallIPConfigurationPropertiesFormat":{
+ "properties":{
"privateIPAddress": {
"type": "string",
"description": "The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes."
@@ -271,111 +271,111 @@
"$ref": "./network.json#/definitions/SubResource",
"description": "Reference of the PublicIP resource. This field is a mandatory input if subnet is not null."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of IP configuration of an Azure Firewall."
},
- "AzureFirewallIPConfiguration":{
- "properties":{
- "properties":{
+ "AzureFirewallIPConfiguration":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallIPConfigurationPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly": true,
"description":"A unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"IP configuration of an Azure Firewall."
},
- "AzureFirewallPropertiesFormat":{
- "properties":{
- "applicationRuleCollections":{
+ "AzureFirewallPropertiesFormat":{
+ "properties":{
+ "applicationRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleCollection"
},
"description":"Collection of application rule collections used by Azure Firewall."
},
- "natRuleCollections":{
+ "natRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNatRuleCollection"
},
"description":"Collection of NAT rule collections used by Azure Firewall."
},
- "networkRuleCollections":{
+ "networkRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleCollection"
},
"description":"Collection of network rule collections used by Azure Firewall."
},
- "ipConfigurations":{
+ "ipConfigurations":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallIPConfiguration"
},
"description":"IP configuration of the Azure Firewall resource."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the Azure Firewall."
},
- "AzureFirewall":{
- "properties":{
- "properties":{
+ "AzureFirewall":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallPropertiesFormat"
},
- "etag":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/Resource"
}
],
"description":"Azure Firewall resource"
},
- "AzureFirewallListResult":{
- "properties":{
- "value":{
+ "AzureFirewallListResult":{
+ "properties":{
+ "value":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"List of Azure Firewalls in a resource group."
},
- "nextLink":{
+ "nextLink":{
"type":"string",
"description":"URL to get the next set of results."
}
},
"description":"Response for ListAzureFirewalls API service call."
},
- "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -384,54 +384,54 @@
"exclusiveMinimum":false,
"description":"Priority of the application rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRule"
},
"description":"Collection of rules used by a application rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the application rule collection."
},
- "AzureFirewallApplicationRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallApplicationRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Application rule collection resource"
},
- "AzureFirewallApplicationRuleProtocol":{
- "properties":{
- "protocolType":{
+ "AzureFirewallApplicationRuleProtocol":{
+ "properties":{
+ "protocolType":{
"description":"Protocol type",
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocolType"
},
- "port":{
+ "port":{
"type":"integer",
"format":"int32",
"maximum":64000,
@@ -443,41 +443,41 @@
},
"description":"Properties of the application rule protocol."
},
- "AzureFirewallApplicationRule":{
- "properties":{
- "name":{
+ "AzureFirewallApplicationRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the application rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocol"
},
"description":"Array of ApplicationRuleProtocols."
},
- "targetFqdns":{
+ "targetFqdns":{
"type":"array",
"description":"List of FQDNs for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
"fqdnTags":{
"type":"array",
"description":"List of FQDN Tags for this rule.",
- "items":{
+ "items":{
"type":"string"
}
}
@@ -485,8 +485,8 @@
"description":"Properties of an application rule."
},
"AzureFirewallNatRuleCollectionProperties": {
- "properties":{
- "priority":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -495,120 +495,120 @@
"exclusiveMinimum":false,
"description":"Priority of the NAT rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallNatRCAction",
"description":"The action type of a NAT rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNatRule"
},
"description":"Collection of rules used by a NAT rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the NAT rule collection."
},
- "AzureFirewallNatRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallNatRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallNatRuleCollectionProperties"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"NAT rule collection resource"
},
- "AzureFirewallNatRule":{
- "properties":{
- "name":{
+ "AzureFirewallNatRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the NAT rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationAddresses":{
+ "destinationAddresses":{
"type":"array",
"description":"List of destination IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationPorts":{
+ "destinationPorts":{
"type":"array",
"description":"List of destination ports.",
- "items":{
+ "items":{
"type":"string"
}
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
},
"description":"Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule."
},
- "translatedAddress":{
+ "translatedAddress":{
"type":"string",
"description":"The translated address for this NAT rule."
},
- "translatedPort":{
+ "translatedPort":{
"type":"string",
"description":"The translated port for this NAT rule."
}
},
"description":"Properties of a NAT rule."
},
- "AzureFirewallNatRCAction":{
- "properties":{
- "type":{
+ "AzureFirewallNatRCAction":{
+ "properties":{
+ "type":{
"description":"The type of action.",
"$ref":"#/definitions/AzureFirewallNatRCActionType"
}
},
"description":"AzureFirewall NAT Rule Collection Action."
},
- "AzureFirewallNatRCActionType":{
+ "AzureFirewallNatRCActionType":{
"type":"string",
"description":"The action type of a NAT rule collection",
- "enum":[
+ "enum":[
"Snat",
"Dnat"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallNatRCActionType",
"modelAsString":true
}
},
- "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -617,146 +617,146 @@
"exclusiveMinimum":false,
"description":"Priority of the network rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRule"
},
"description":"Collection of rules used by a network rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the network rule collection."
},
- "AzureFirewallNetworkRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallNetworkRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Network rule collection resource"
},
- "AzureFirewallNetworkRule":{
- "properties":{
- "name":{
+ "AzureFirewallNetworkRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the network rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
},
"description":"Array of AzureFirewallNetworkRuleProtocols."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationAddresses":{
+ "destinationAddresses":{
"type":"array",
"description":"List of destination IP addresses.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationPorts":{
+ "destinationPorts":{
"type":"array",
"description":"List of destination ports.",
- "items":{
+ "items":{
"type":"string"
}
}
},
"description":"Properties of the network rule."
},
- "AzureFirewallRCAction":{
- "properties":{
- "type":{
+ "AzureFirewallRCAction":{
+ "properties":{
+ "type":{
"description":"The type of action.",
"$ref":"#/definitions/AzureFirewallRCActionType"
}
},
"description":"Properties of the AzureFirewallRCAction."
},
- "AzureFirewallRCActionType":{
+ "AzureFirewallRCActionType":{
"type":"string",
"description":"The action type of a rule collection",
- "enum":[
+ "enum":[
"Allow",
"Deny"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallRCActionType",
"modelAsString":true
}
},
- "ProvisioningState":{
+ "ProvisioningState":{
"type":"string",
"readOnly":true,
- "description":"The current provisisoning state.",
- "enum":[
+ "description":"The current provisioning state.",
+ "enum":[
"Succeeded",
"Updating",
"Deleting",
"Failed"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"ProvisioningState",
"modelAsString":true
}
},
- "AzureFirewallNetworkRuleProtocol":{
+ "AzureFirewallNetworkRuleProtocol":{
"type":"string",
"description":"The protocol of a Network Rule resource",
- "enum":[
+ "enum":[
"TCP",
"UDP",
"Any",
"ICMP"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallNetworkRuleProtocol",
"modelAsString":true
}
},
- "AzureFirewallApplicationRuleProtocolType":{
+ "AzureFirewallApplicationRuleProtocolType":{
"type":"string",
"description":"The protocol type of a Application Rule resource",
- "enum":[
+ "enum":[
"Http",
"Https"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallApplicationRuleProtocolType",
"modelAsString":true
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointCreate.json
index dfbdbe5a6c66..a863513ba4e7 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/InterfaceEndpointCreate.json
@@ -24,7 +24,7 @@
"location" : "eastus",
"properties" : {
"fqdn": "uniqueIdentifier.fqdn.windows.net",
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"owner": "User",
"endpointService": {
"id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreate.json
index e7c982282fb5..045fd8fa9c0e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -105,7 +106,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -222,7 +223,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateStandardSku.json
index 8958fe7a04d1..7fe5f1393f48 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateStandardSku.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateStandardSku.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateWithInboundNatPool.json
index b3a956e80164..ec18721c64da 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateWithInboundNatPool.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -55,7 +56,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -112,7 +113,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateWithZones.json
index e95fc71550ac..b4170d55be71 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceCreate.json
index 2fbc42d7ceb9..60c5eb8e2aba 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationCreate.json
index 682a631a10f5..43e6fa35d3c8 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationCreate.json
@@ -24,7 +24,7 @@
"virtualNetworkTap": {
"id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
},
- "provisioningState": "Succeded"
+ "provisioningState": "Succeeded"
}
}
},
@@ -38,7 +38,7 @@
"virtualNetworkTap": {
"id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
},
- "provisioningState": "Succeded"
+ "provisioningState": "Succeeded"
}
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationGet.json
index 466c86aa4189..b64217ddc00e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationGet.json
@@ -18,7 +18,7 @@
"virtualNetworkTap": {
"id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
},
- "provisioningState": "Succeded"
+ "provisioningState": "Succeeded"
}
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationList.json
index 7d61efe95663..e5bcbcc67bb8 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkInterfaceTapConfigurationList.json
@@ -18,7 +18,7 @@
"virtualNetworkTap": {
"id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
},
- "provisioningState": "Succeded"
+ "provisioningState": "Succeeded"
}
}
]
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkSecurityGroupCreate.json
index 77edee2c8f97..a0fafde64e5c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkSecurityGroupCreateWithRule.json
index f2c7082aba7b..5b8de383d527 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateCustomizedValues.json
index 04fa92ee13b0..8a49f5504bf4 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateDefaults.json
index 383f98ef0d2a..26cbea19072a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateDns.json
index b83195e0fb87..1e0892163e2f 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/PublicIpAddressCreateDns.json
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/RouteTableCreate.json
index d61625c84e2c..b2b5110ef63c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/RouteTableCreateWithRoute.json
index d804667da228..f3cd19a0b733 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/RouteTableCreateWithRoute.json
@@ -16,7 +16,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreate.json
index dc12c2ad29b7..a7ff71a18218 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
index 4c1156614be1..42752bfeac0f 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateServiceEndpoints.json
index 08e3fa67e908..e5855afe961d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnet.json
index 54a52f88c169..3b5ec0443a90 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
index b24ce74940f9..cda19d70ca9c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
@@ -22,7 +22,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -31,7 +32,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -61,7 +62,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
index 11284da69939..48f2b826d6e4 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
@@ -27,7 +27,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -36,7 +37,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -75,7 +76,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayUpdate.json
index 6584d980e50d..8cd3ae858a87 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayUpdate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkGatewayUpdate.json
@@ -17,9 +17,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
}
},
- "name": "gwipconfig1",
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1"
+ "name": "gwipconfig1"
}
],
"gatewayType": "Vpn",
@@ -28,18 +26,14 @@
"activeActive": false,
"sku": {
"name": "VpnGw1",
- "tier": "VpnGw1",
- "capacity": 0
+ "tier": "VpnGw1"
},
"bgpSettings": {
"asn": 65515,
"bgpPeeringAddress": "10.0.1.30",
"peerWeight": 0
- },
- "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
},
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
"location": "centralus"
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapCreate.json
index 9a743f52e7d6..a650f93c551a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapCreate.json
@@ -26,7 +26,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
@@ -48,7 +48,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapGet.json
index 0621f8f10575..21cb567b75b6 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapGet.json
@@ -18,7 +18,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapList.json
index 6b36cfcc3f9d..c0e71e730fd2 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapList.json
@@ -19,7 +19,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
@@ -39,7 +39,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapListAll.json
index b1987192c0fd..87934e56416d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapListAll.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapListAll.json
@@ -18,7 +18,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
@@ -38,7 +38,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapUpdateTags.json
index 4a8882e611e8..90014f234f91 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapUpdateTags.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/examples/VirtualNetworkTapUpdateTags.json
@@ -26,7 +26,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"networkInterfaceTapConfigurations": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json
index 8c92b84533cb..045e0bd19e0b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json
@@ -51,7 +51,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
@@ -91,7 +91,7 @@
],
"responses": {
"200": {
- "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRoutePort.json
index 820d010fcc18..e6200d1b0e7d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRoutePort.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/expressRoutePort.json
@@ -40,7 +40,7 @@
"ExpressRoutePortsLocations"
],
"operationId": "ExpressRoutePortsLocations_List",
- "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retriving a specific peering location.",
+ "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retrieving a specific peering location.",
"parameters": [
{
"$ref": "./network.json#/parameters/SubscriptionIdParameter"
@@ -670,7 +670,7 @@
"etherType": {
"readOnly": true,
"type": "string",
- "description": "Ethertype of the physical port."
+ "description": "Ether type of the physical port."
},
"allocationDate": {
"readOnly": true,
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json
index 3864a66649fe..8c4c3533bf53 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkInterface.json
@@ -580,7 +580,7 @@
"description": "Delete successful."
}
},
- "x-ms-examples":
+ "x-ms-examples":
{
"Delete tap configuration": { "$ref": "./examples/NetworkInterfaceTapConfigurationDelete.json" }
},
@@ -629,7 +629,7 @@
}
}
},
- "x-ms-examples":
+ "x-ms-examples":
{
"Get Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationGet.json" }
}
@@ -692,7 +692,7 @@
}
}
},
- "x-ms-examples":
+ "x-ms-examples":
{
"Create Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationCreate.json" }
},
@@ -776,7 +776,7 @@
},
"NetworkInterfaceTapConfigurationPropertiesFormat": {
"properties": {
- "virtualNetworkTap": {
+ "virtualNetworkTap": {
"$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap",
"description": "The reference of the Virtual Network Tap resource."
},
@@ -1158,14 +1158,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -1180,14 +1180,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkProfile.json
index 07019ca84e80..76441a3a0386 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkProfile.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkProfile.json
@@ -100,7 +100,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the PublicIPPrefx."
+ "description": "The name of the Public IP Prefix."
},
{
"$ref": "./network.json#/parameters/ApiVersionParameter"
@@ -268,7 +268,7 @@
}
},
"x-ms-examples": {
- "List all network profilees": {
+ "List all network profiles": {
"$ref": "./examples/NetworkProfileListAll.json"
}
},
@@ -308,7 +308,7 @@
}
},
"x-ms-examples": {
- "List resource group network profilees": {
+ "List resource group network profiles": {
"$ref": "./examples/NetworkProfileList.json"
}
},
@@ -391,7 +391,7 @@
},
"container": {
"$ref": "#/definitions/Container",
- "description": "Reference to the conatinaer to which this container network interface is attached."
+ "description": "Reference to the container to which this container network interface is attached."
},
"ipConfigurations": {
"type": "array",
@@ -485,13 +485,13 @@
"$ref": "./network.json#/definitions/SubResource"
}
],
- "description": "Container network interface configruation child resource."
+ "description": "Container network interface configuration child resource."
},
"IPConfigurationProfilePropertiesFormat": {
"properties": {
"subnet": {
"$ref": "./virtualNetwork.json#/definitions/Subnet",
- "description": "The reference of the subnet resource to create a contatainer network interface ip configruation."
+ "description": "The reference of the subnet resource to create a container network interface ip configuration."
},
"provisioningState": {
"readOnly": true,
@@ -499,7 +499,7 @@
"description": "The provisioning state of the resource."
}
},
- "description": "IP configruation profile properties."
+ "description": "IP configuration profile properties."
},
"IPConfigurationProfile": {
"properties": {
@@ -555,7 +555,7 @@
"$ref": "#/definitions/ContainerNetworkInterfaceIpConfigurationPropertiesFormat",
"description": "Properties of the container network interface IP configuration."
},
- "name": {
+ "name": {
"type": "string",
"description": "The name of the resource. This name can be used to access the resource."
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkSecurityGroup.json
index 7445065294b5..36c03385eddd 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkSecurityGroup.json
@@ -628,15 +628,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -654,7 +654,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -705,7 +705,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkWatcher.json
index 6103a395dcf9..1f87c35965dd 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkWatcher.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/networkWatcher.json
@@ -1785,8 +1785,8 @@
],
"operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic",
"x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
},
"description": "Get network configuration diagnostic.",
"parameters": [
@@ -1822,7 +1822,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns the result of network condifuration diagnostic.",
+ "description": "Request successful. The operation returns the result of network configuration diagnostic.",
"schema": {
"$ref": "#/definitions/NetworkConfigurationDiagnosticResponse"
}
@@ -3172,7 +3172,7 @@
"properties": {
"location": {
"type": "string",
- "description": "Connection monitor location."
+ "description": "Connection monitor location."
},
"tags": {
"type": "object",
@@ -3357,7 +3357,7 @@
"description": "Information about connection states."
}
},
- "description": "List of connection states snaphots."
+ "description": "List of connection states snapshots."
},
"ConnectionStateSnapshot": {
"properties": {
@@ -3440,7 +3440,7 @@
"description": "The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway."
},
"verbosityLevel": {
- "type": "string",
+ "type": "string",
"enum": [
"Normal",
"Minimum",
@@ -3497,7 +3497,7 @@
},
"destinationPort": {
"type": "string",
- "description": "Traffice destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
+ "description": "Traffic destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
}
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/publicIpPrefix.json
index ab40cd71d8b3..ab4d50428ebf 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/publicIpPrefix.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/publicIpPrefix.json
@@ -98,7 +98,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the PublicIPPrefx."
+ "description": "The name of the Public IP Prefix."
},
{
"$ref": "./network.json#/parameters/ApiVersionParameter"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json
index 21c161feee88..5199175f42cc 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json
@@ -75,7 +75,7 @@
}
},
"x-ms-examples": {
- "Delete service endpoint Policys": { "$ref": "./examples/ServiceEndpointPolicyDelete.json" }
+ "Delete service endpoint Policy": { "$ref": "./examples/ServiceEndpointPolicyDelete.json" }
},
"x-ms-long-running-operation": true
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json
index 4f3afd480047..16a2eb99f078 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json
@@ -795,7 +795,7 @@
"description": "Accepted and the operation will complete asynchronously."
},
"200": {
- "description": "Request successful. The operation sets the specificed vpnclient ipsec parameters for P2S client of the virtual network gateway.",
+ "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.",
"schema": {
"$ref": "#/definitions/VpnClientIPsecParameters"
}
@@ -846,8 +846,8 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
- }
+ "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
+ }
}
},
@@ -1766,7 +1766,7 @@
"$ref": "#/definitions/IpsecPolicy"
},
"description": "VpnClientIpsecPolicies for virtual network gateway P2S client."
- },
+ },
"radiusServerAddress": {
"type": "string",
"description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection."
@@ -2119,7 +2119,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
@@ -2399,7 +2399,7 @@
"ECP384",
"PFS24",
"PFS14",
- "PFSMM"
+ "PFSMM"
],
"x-ms-enum": {
"name": "PfsGroup",
@@ -2560,7 +2560,7 @@
"pfsGroup"
],
"description": "An IPSec parameters for a virtual network gateway P2S connection."
- },
+ },
"LocalNetworkGatewayPropertiesFormat": {
"properties": {
"localNetworkAddressSpace": {
@@ -2658,7 +2658,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualWan.json
index e67f5886310d..3d95d5ea5450 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualWan.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-08-01/virtualWan.json
@@ -342,7 +342,7 @@
"$ref": "./examples/VpnSiteGet.json"
}
},
- "description": "Retrieves the details of a VPNsite.",
+ "description": "Retrieves the details of a VPN site.",
"parameters": [
{
"$ref": "./network.json#/parameters/SubscriptionIdParameter"
@@ -2252,7 +2252,7 @@
},
"x-ms-long-running-operation": true
}
- }
+ }
},
"definitions": {
"VirtualWanProperties": {
@@ -2298,7 +2298,7 @@
"items": {
"$ref": "#/definitions/P2SVpnServerConfiguration"
}
- },
+ },
"provisioningState": {
"description": "The provisioning state of the resource.",
"$ref": "#/definitions/ProvisioningState"
@@ -2448,7 +2448,7 @@
"p2SVpnGateway": {
"$ref": "./network.json#/definitions/SubResource",
"description": "The P2SVpnGateway associated with this VirtualHub"
- },
+ },
"expressRouteGateway": {
"$ref": "./network.json#/definitions/SubResource",
"description": "The expressRouteGateway associated with this VirtualHub"
@@ -2836,7 +2836,7 @@
"ProvisioningState": {
"type": "string",
"readOnly": true,
- "description": "The current provisisoning state.",
+ "description": "The current provisioning state.",
"enum": [
"Succeeded",
"Updating",
@@ -2996,8 +2996,8 @@
"publicCertData"
],
"description": "Properties of Radius Server root certificate of P2SVpnServerConfiguration."
- },
- "P2SVpnServerConfigRadiusServerRootCertificate": {
+ },
+ "P2SVpnServerConfigRadiusServerRootCertificate": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
@@ -3096,13 +3096,13 @@
}
],
"description": "Radius client root certificate of P2SVpnServerConfiguration."
- },
- "P2SVpnServerConfigurationProperties": {
+ },
+ "P2SVpnServerConfigurationProperties": {
"properties": {
"name": {
"type": "string",
- "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name."
- },
+ "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Parent VirtualWan resource name."
+ },
"vpnProtocols": {
"type": "array",
"items": {
@@ -3160,7 +3160,7 @@
},
"radiusServerSecret": {
"type": "string",
- "description": "The radius secret property of the P2SVpnServerConfiguration resource for for point to site client connection."
+ "description": "The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection."
},
"provisioningState": {
"readOnly": true,
@@ -3219,7 +3219,7 @@
"description": "URL to get the next set of operation list results if there are any."
}
}
- },
+ },
"VpnClientConnectionHealth": {
"properties": {
"totalIngressBytesTransferred": {
@@ -3239,7 +3239,7 @@
"format": "int32",
"description": "The total of p2s vpn clients connected at this time to this P2SVpnGateway."
},
- "allocatedIpAddresses": {
+ "allocatedIpAddresses": {
"type": "array",
"items": {
"type": "string"
@@ -3248,8 +3248,8 @@
}
},
"description": "VpnClientConnectionHealth properties"
- },
- "P2SVpnGatewayProperties": {
+ },
+ "P2SVpnGatewayProperties": {
"properties": {
"virtualHub": {
"$ref": "./network.json#/definitions/SubResource",
@@ -3274,8 +3274,8 @@
},
"vpnClientConnectionHealth": {
"readOnly": true,
- "$ref": "#/definitions/VpnClientConnectionHealth",
- "description": "All P2S vpnclients' connection health status."
+ "$ref": "#/definitions/VpnClientConnectionHealth",
+ "description": "All P2S VPN clients' connection health status."
}
},
"description": "Parameters for P2SVpnGateway"
@@ -3301,7 +3301,7 @@
}
],
"description": "P2SVpnGateway Resource."
- },
+ },
"ListP2SVpnGatewaysResult": {
"description": "Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results.",
"properties": {
@@ -3343,6 +3343,6 @@
}
},
"description": "Vpn Profile Response for package generation"
- }
+ }
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/applicationGateway.json
index 7dab7e5d9985..06ce3f26f65b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/applicationGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/applicationGateway.json
@@ -1953,7 +1953,7 @@
"exclusiveMaximum": false,
"minimum": 8,
"exclusiveMinimum": false,
- "description": "Maxium request body size for WAF."
+ "description": "Maximum request body size for WAF."
},
"maxRequestBodySizeInKb": {
"type": "integer",
@@ -1962,7 +1962,7 @@
"exclusiveMaximum": false,
"minimum": 8,
"exclusiveMinimum": false,
- "description": "Maxium request body size in Kb for WAF."
+ "description": "Maximum request body size in Kb for WAF."
},
"fileUploadLimitInMb": {
"type": "integer",
@@ -1971,7 +1971,7 @@
"exclusiveMaximum": false,
"minimum": 0,
"exclusiveMinimum": false,
- "description": "Maxium file upload size in Mb for WAF."
+ "description": "Maximum file upload size in Mb for WAF."
},
"exclusions": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/azureFirewall.json
index bd022bf77421..aa7aa2af530c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/azureFirewall.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/azureFirewall.json
@@ -1,264 +1,264 @@
-{
+{
"swagger":"2.0",
- "info":{
+ "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-10-01"
},
"host":"management.azure.com",
- "schemes":[
+ "schemes":[
"https"
],
- "consumes":[
+ "consumes":[
"application/json"
],
- "produces":[
+ "produces":[
"application/json"
],
- "security":[
- {
- "azure_auth":[
+ "security":[
+ {
+ "azure_auth":[
"user_impersonation"
]
}
],
- "securityDefinitions":{
- "azure_auth":{
+ "securityDefinitions":{
+ "azure_auth":{
"type":"oauth2",
"authorizationUrl":"https://login.microsoftonline.com/common/oauth2/authorize",
"flow":"implicit",
"description":"Azure Active Directory OAuth2 Flow",
- "scopes":{
+ "scopes":{
"user_impersonation":"impersonate your user account"
}
}
},
- "paths":{
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
- "delete":{
- "tags":[
+ "paths":{
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}":{
+ "delete":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Delete",
"description":"Deletes the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "202":{
+ "responses":{
+ "202":{
"description":"Accepted and the operation will complete asynchronously."
},
- "204":{
+ "204":{
"description":"Request successful. Resource with the specified name does not exist"
},
- "200":{
+ "200":{
"description":"Delete successful."
}
},
- "x-ms-examples":{
- "Delete Azure Firewall":{
+ "x-ms-examples":{
+ "Delete Azure Firewall":{
"$ref":"./examples/AzureFirewallDelete.json"
}
},
"x-ms-long-running-operation":true
},
- "get":{
- "tags":[
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_Get",
"description":"Gets the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Request successful. The operation returns an AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Get Azure Firewall":{
+ "x-ms-examples":{
+ "Get Azure Firewall":{
"$ref":"./examples/AzureFirewallGet.json"
}
}
},
- "put":{
- "tags":[
+ "put":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_CreateOrUpdate",
"description":"Creates or updates the specified Azure Firewall.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"name":"azureFirewallName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the Azure Firewall."
},
- {
+ {
"name":"parameters",
"in":"body",
"required":true,
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"Parameters supplied to the create or update Azure Firewall operation."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "201":{
+ "responses":{
+ "201":{
"description":"Create successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
},
- "200":{
+ "200":{
"description":"Update successful. The operation returns the resulting AzureFirewall resource.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewall"
}
}
},
- "x-ms-examples":{
- "Create Azure Firewall":{
+ "x-ms-examples":{
+ "Create Azure Firewall":{
"$ref":"./examples/AzureFirewallPut.json"
}
},
"x-ms-long-running-operation":true
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_List",
"description":"Lists all Azure Firewalls in a resource group.",
- "parameters":[
- {
+ "parameters":[
+ {
"name":"resourceGroupName",
"in":"path",
"required":true,
"type":"string",
"description":"The name of the resource group."
},
- {
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given resource group":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given resource group":{
"$ref":"./examples/AzureFirewallListByResourceGroup.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
- "get":{
- "tags":[
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
"AzureFirewalls"
],
"operationId":"AzureFirewalls_ListAll",
"description":"Gets all the Azure Firewalls in a subscription.",
- "parameters":[
- {
+ "parameters":[
+ {
"$ref":"./network.json#/parameters/ApiVersionParameter"
},
- {
+ {
"$ref":"./network.json#/parameters/SubscriptionIdParameter"
}
],
- "responses":{
- "200":{
+ "responses":{
+ "200":{
"description":"Success. The operation returns a list of AzureFirewall resources.",
- "schema":{
+ "schema":{
"$ref":"#/definitions/AzureFirewallListResult"
}
}
},
- "x-ms-examples":{
- "List all Azure Firewalls for a given subscription":{
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given subscription":{
"$ref":"./examples/AzureFirewallListBySubscription.json"
}
},
- "x-ms-pageable":{
+ "x-ms-pageable":{
"nextLinkName":"nextLink"
}
}
}
},
- "definitions":{
- "AzureFirewallIPConfigurationPropertiesFormat":{
- "properties":{
+ "definitions":{
+ "AzureFirewallIPConfigurationPropertiesFormat":{
+ "properties":{
"privateIPAddress": {
"type": "string",
"readOnly": true,
@@ -272,111 +272,111 @@
"$ref": "./network.json#/definitions/SubResource",
"description": "Reference of the PublicIP resource. This field is a mandatory input if subnet is not null."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of IP configuration of an Azure Firewall."
},
- "AzureFirewallIPConfiguration":{
- "properties":{
- "properties":{
+ "AzureFirewallIPConfiguration":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallIPConfigurationPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly": true,
"description":"A unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"IP configuration of an Azure Firewall."
},
- "AzureFirewallPropertiesFormat":{
- "properties":{
- "applicationRuleCollections":{
+ "AzureFirewallPropertiesFormat":{
+ "properties":{
+ "applicationRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleCollection"
},
"description":"Collection of application rule collections used by Azure Firewall."
},
- "natRuleCollections":{
+ "natRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNatRuleCollection"
},
"description":"Collection of NAT rule collections used by Azure Firewall."
},
- "networkRuleCollections":{
+ "networkRuleCollections":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleCollection"
},
"description":"Collection of network rule collections used by Azure Firewall."
},
- "ipConfigurations":{
+ "ipConfigurations":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallIPConfiguration"
},
"description":"IP configuration of the Azure Firewall resource."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the Azure Firewall."
},
- "AzureFirewall":{
- "properties":{
- "properties":{
+ "AzureFirewall":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallPropertiesFormat"
},
- "etag":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/Resource"
}
],
"description":"Azure Firewall resource"
},
- "AzureFirewallListResult":{
- "properties":{
- "value":{
+ "AzureFirewallListResult":{
+ "properties":{
+ "value":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewall"
},
"description":"List of Azure Firewalls in a resource group."
},
- "nextLink":{
+ "nextLink":{
"type":"string",
"description":"URL to get the next set of results."
}
},
"description":"Response for ListAzureFirewalls API service call."
},
- "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -385,54 +385,54 @@
"exclusiveMinimum":false,
"description":"Priority of the application rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRule"
},
"description":"Collection of rules used by a application rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the application rule collection."
},
- "AzureFirewallApplicationRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallApplicationRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Application rule collection resource"
},
- "AzureFirewallApplicationRuleProtocol":{
- "properties":{
- "protocolType":{
+ "AzureFirewallApplicationRuleProtocol":{
+ "properties":{
+ "protocolType":{
"description":"Protocol type",
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocolType"
},
- "port":{
+ "port":{
"type":"integer",
"format":"int32",
"maximum":64000,
@@ -444,41 +444,41 @@
},
"description":"Properties of the application rule protocol."
},
- "AzureFirewallApplicationRule":{
- "properties":{
- "name":{
+ "AzureFirewallApplicationRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the application rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallApplicationRuleProtocol"
},
"description":"Array of ApplicationRuleProtocols."
},
- "targetFqdns":{
+ "targetFqdns":{
"type":"array",
"description":"List of FQDNs for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
"fqdnTags":{
"type":"array",
"description":"List of FQDN Tags for this rule.",
- "items":{
+ "items":{
"type":"string"
}
}
@@ -486,8 +486,8 @@
"description":"Properties of an application rule."
},
"AzureFirewallNatRuleCollectionProperties": {
- "properties":{
- "priority":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -496,120 +496,120 @@
"exclusiveMinimum":false,
"description":"Priority of the NAT rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallNatRCAction",
"description":"The action type of a NAT rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNatRule"
},
"description":"Collection of rules used by a NAT rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the NAT rule collection."
},
- "AzureFirewallNatRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallNatRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallNatRuleCollectionProperties"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"NAT rule collection resource"
},
- "AzureFirewallNatRule":{
- "properties":{
- "name":{
+ "AzureFirewallNatRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the NAT rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationAddresses":{
+ "destinationAddresses":{
"type":"array",
"description":"List of destination IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationPorts":{
+ "destinationPorts":{
"type":"array",
"description":"List of destination ports.",
- "items":{
+ "items":{
"type":"string"
}
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
},
"description":"Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule."
},
- "translatedAddress":{
+ "translatedAddress":{
"type":"string",
"description":"The translated address for this NAT rule."
},
- "translatedPort":{
+ "translatedPort":{
"type":"string",
"description":"The translated port for this NAT rule."
}
},
"description":"Properties of a NAT rule."
},
- "AzureFirewallNatRCAction":{
- "properties":{
- "type":{
+ "AzureFirewallNatRCAction":{
+ "properties":{
+ "type":{
"description":"The type of action.",
"$ref":"#/definitions/AzureFirewallNatRCActionType"
}
},
"description":"AzureFirewall NAT Rule Collection Action."
},
- "AzureFirewallNatRCActionType":{
+ "AzureFirewallNatRCActionType":{
"type":"string",
"description":"The action type of a NAT rule collection",
- "enum":[
+ "enum":[
"Snat",
"Dnat"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallNatRCActionType",
"modelAsString":true
}
},
- "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
- "properties":{
- "priority":{
+ "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
"type":"integer",
"format":"int32",
"maximum":65000,
@@ -618,146 +618,146 @@
"exclusiveMinimum":false,
"description":"Priority of the network rule collection resource."
},
- "action":{
+ "action":{
"$ref":"#/definitions/AzureFirewallRCAction",
"description":"The action type of a rule collection"
},
- "rules":{
+ "rules":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRule"
},
"description":"Collection of rules used by a network rule collection."
},
- "provisioningState":{
+ "provisioningState":{
"description":"The provisioning state of the resource.",
"$ref":"#/definitions/ProvisioningState"
}
},
"description":"Properties of the network rule collection."
},
- "AzureFirewallNetworkRuleCollection":{
- "properties":{
- "properties":{
+ "AzureFirewallNetworkRuleCollection":{
+ "properties":{
+ "properties":{
"x-ms-client-flatten":true,
"$ref":"#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat"
},
- "name":{
+ "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":{
+ "etag":{
"type":"string",
"readOnly":true,
"description":"Gets a unique read-only string that changes whenever the resource is updated."
}
},
- "allOf":[
- {
+ "allOf":[
+ {
"$ref":"./network.json#/definitions/SubResource"
}
],
"description":"Network rule collection resource"
},
- "AzureFirewallNetworkRule":{
- "properties":{
- "name":{
+ "AzureFirewallNetworkRule":{
+ "properties":{
+ "name":{
"type":"string",
"description":"Name of the network rule."
},
- "description":{
+ "description":{
"type":"string",
"description":"Description of the rule."
},
- "protocols":{
+ "protocols":{
"type":"array",
- "items":{
+ "items":{
"$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
},
"description":"Array of AzureFirewallNetworkRuleProtocols."
},
- "sourceAddresses":{
+ "sourceAddresses":{
"type":"array",
"description":"List of source IP addresses for this rule.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationAddresses":{
+ "destinationAddresses":{
"type":"array",
"description":"List of destination IP addresses.",
- "items":{
+ "items":{
"type":"string"
}
},
- "destinationPorts":{
+ "destinationPorts":{
"type":"array",
"description":"List of destination ports.",
- "items":{
+ "items":{
"type":"string"
}
}
},
"description":"Properties of the network rule."
},
- "AzureFirewallRCAction":{
- "properties":{
- "type":{
+ "AzureFirewallRCAction":{
+ "properties":{
+ "type":{
"description":"The type of action.",
"$ref":"#/definitions/AzureFirewallRCActionType"
}
},
"description":"Properties of the AzureFirewallRCAction."
},
- "AzureFirewallRCActionType":{
+ "AzureFirewallRCActionType":{
"type":"string",
"description":"The action type of a rule collection",
- "enum":[
+ "enum":[
"Allow",
"Deny"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallRCActionType",
"modelAsString":true
}
},
- "ProvisioningState":{
+ "ProvisioningState":{
"type":"string",
"readOnly":true,
- "description":"The current provisisoning state.",
- "enum":[
+ "description":"The current provisioning state.",
+ "enum":[
"Succeeded",
"Updating",
"Deleting",
"Failed"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"ProvisioningState",
"modelAsString":true
}
},
- "AzureFirewallNetworkRuleProtocol":{
+ "AzureFirewallNetworkRuleProtocol":{
"type":"string",
"description":"The protocol of a Network Rule resource",
- "enum":[
+ "enum":[
"TCP",
"UDP",
"Any",
"ICMP"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallNetworkRuleProtocol",
"modelAsString":true
}
},
- "AzureFirewallApplicationRuleProtocolType":{
+ "AzureFirewallApplicationRuleProtocolType":{
"type":"string",
"description":"The protocol type of a Application Rule resource",
- "enum":[
+ "enum":[
"Http",
"Https"
],
- "x-ms-enum":{
+ "x-ms-enum":{
"name":"AzureFirewallApplicationRuleProtocolType",
"modelAsString":true
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/InterfaceEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/InterfaceEndpointCreate.json
index a95ab3fb56a8..36f688d418a6 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/InterfaceEndpointCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/InterfaceEndpointCreate.json
@@ -24,7 +24,7 @@
"location" : "eastus",
"properties" : {
"fqdn": "uniqueIdentifier.fqdn.windows.net",
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"owner": "User",
"endpointService": {
"id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreate.json
index 72ad33843b52..2c1095d87571 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreate.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -105,7 +106,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -222,7 +223,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateStandardSku.json
index 7a951554f403..717a57200f4a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateStandardSku.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateStandardSku.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -106,7 +107,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
@@ -221,7 +222,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Standard"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateWithInboundNatPool.json
index 0e404ceb7d70..8148d49a1700 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateWithInboundNatPool.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -55,7 +56,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -112,7 +113,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateWithZones.json
index 4ec9e4f697da..3698928441bf 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateWithZones.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/LoadBalancerCreateWithZones.json
@@ -5,6 +5,7 @@
"resourceGroupName" : "rg1",
"loadBalancerName" : "lb",
"parameters": {
+ "location": "eastus",
"properties": {
"frontendIPConfigurations": [
{
@@ -104,7 +105,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
@@ -220,7 +221,7 @@
"name": "lb",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
"type": "Microsoft.Network/loadBalancers",
- "location": "westus",
+ "location": "eastus",
"sku": {
"name": "Basic"
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceCreate.json
index fe05f9e153ad..6f9cc8e3e116 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceCreate.json
@@ -20,7 +20,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationCreate.json
index 80a4059ebd3e..3ba769651379 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationCreate.json
@@ -24,7 +24,7 @@
"virtualNetworkTap": {
"id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
},
- "provisioningState": "Succeded"
+ "provisioningState": "Succeeded"
}
}
},
@@ -38,7 +38,7 @@
"virtualNetworkTap": {
"id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
},
- "provisioningState": "Succeded"
+ "provisioningState": "Succeeded"
}
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationGet.json
index 219eb0907821..6ec50de4c86a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationGet.json
@@ -18,7 +18,7 @@
"virtualNetworkTap": {
"id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
},
- "provisioningState": "Succeded"
+ "provisioningState": "Succeeded"
}
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationList.json
index a982d6013bba..b8d133397b5d 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkInterfaceTapConfigurationList.json
@@ -18,7 +18,7 @@
"virtualNetworkTap": {
"id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
},
- "provisioningState": "Succeded"
+ "provisioningState": "Succeeded"
}
}
]
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkSecurityGroupCreate.json
index 15a499c4c26f..0e930fd4e836 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkSecurityGroupCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkSecurityGroupCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"networkSecurityGroupName" : "testnsg",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
@@ -12,7 +14,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
@@ -122,7 +124,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [ ],
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkSecurityGroupCreateWithRule.json
index a66afd7aa2fe..9f6d833f414a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkSecurityGroupCreateWithRule.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -21,7 +21,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -30,7 +31,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
@@ -156,7 +157,7 @@
"name": "testnsg",
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
"type": "Microsoft.Network/networkSecurityGroups",
- "location": "westus",
+ "location": "eastus",
"properties": {
"provisioningState": "Succeeded",
"securityRules": [
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateCustomizedValues.json
index 09a229b45d92..5fe2d93d1091 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateCustomizedValues.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -13,7 +13,8 @@
},
"sku": {
"name": "Standard"
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +22,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
@@ -42,7 +43,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"zones": [ "1" ],
"properties" : {
"provisioningState" : "Succeeded",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateDefaults.json
index d379024890d5..cdc9229681e0 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateDefaults.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateDefaults.json
@@ -4,14 +4,16 @@
"subscriptionId" : "subid",
"resourceGroupName": "rg1",
"publicIpAddressName": "test-ip",
- "parameters": {}
+ "parameters": {
+ "location": "eastus"
+ }
},
"responses" : {
"200" : {
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -31,7 +33,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateDns.json
index 484fd6c31132..dd28aaf1e510 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateDns.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/PublicIpAddressCreateDns.json
@@ -9,7 +9,8 @@
"dnsSettings": {
"domainNameLabel": "dnslbl"
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -17,7 +18,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
@@ -38,7 +39,7 @@
"body" : {
"name" : "testDNS-ip",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"publicIPAddressVersion" : "IPv4",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/RouteTableCreate.json
index 5be9a18bdcd8..8c98351bcb52 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/RouteTableCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/RouteTableCreate.json
@@ -4,7 +4,9 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"routeTableName" : "testrt",
- "parameters": {}
+ "parameters": {
+ "location": "westus"
+ }
},
"responses" : {
"200" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/RouteTableCreateWithRoute.json
index 0b7cf91fd652..0720da08d03b 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/RouteTableCreateWithRoute.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/RouteTableCreateWithRoute.json
@@ -16,7 +16,8 @@
}
}
]
- }
+ },
+ "location": "westus"
}
},
"responses" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreate.json
index b03b3df20882..a7d7ec000b98 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreate.json
@@ -4,7 +4,6 @@
"subscriptionId" : "subid",
"resourceGroupName" : "rg1",
"virtualNetworkName" : "test-vnet",
- "location": "westus",
"parameters": {
"properties": {
"addressSpace": {
@@ -12,7 +11,8 @@
"10.0.0.0/16"
]
}
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -21,7 +21,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -39,7 +39,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
index 4c1156614be1..42752bfeac0f 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateServiceEndpoints.json
index 57c8147a1c6b..6f72f0bf242c 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateServiceEndpoints.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -24,7 +24,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -33,7 +34,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -72,7 +73,7 @@
"name" : "vnet1",
"id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnet.json
index 4ebca4192223..f1ce970a8ea5 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnet.json
@@ -19,7 +19,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -28,7 +29,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -55,7 +56,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
index 07e7b2e43d1e..16427b196bd6 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
@@ -22,7 +22,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -31,7 +32,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -61,7 +62,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
index 14dfb31b7844..021349bf02a3 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
@@ -27,7 +27,8 @@
}
}
]
- }
+ },
+ "location": "eastus"
}
},
"responses" : {
@@ -36,7 +37,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
@@ -75,7 +76,7 @@
"name" : "test-vnet",
"id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
"type" : "Microsoft.Network/virtualNetworks",
- "location" : "westus",
+ "location" : "eastus",
"properties" : {
"provisioningState" : "Succeeded",
"addressSpace" : {
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkGatewayUpdate.json
index 690050f17327..d5dfcafe5943 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkGatewayUpdate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkGatewayUpdate.json
@@ -17,9 +17,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
}
},
- "name": "gwipconfig1",
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1"
+ "name": "gwipconfig1"
}
],
"gatewayType": "Vpn",
@@ -28,18 +26,14 @@
"activeActive": false,
"sku": {
"name": "VpnGw1",
- "tier": "VpnGw1",
- "capacity": 0
+ "tier": "VpnGw1"
},
"bgpSettings": {
"asn": 65515,
"bgpPeeringAddress": "10.0.1.30",
"peerWeight": 0
- },
- "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
},
- "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
"location": "centralus"
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapCreate.json
index 56d8e18ab711..d18282d548d2 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapCreate.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapCreate.json
@@ -26,7 +26,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
@@ -48,7 +48,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapGet.json
index 7dbee26fdd46..07c945fde606 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapGet.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapGet.json
@@ -18,7 +18,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapList.json
index 0215ca43f1a3..7cdb383ace3e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapList.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapList.json
@@ -19,7 +19,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
@@ -39,7 +39,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapListAll.json
index 9cb69a1de457..bf9839592606 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapListAll.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapListAll.json
@@ -18,7 +18,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
@@ -38,7 +38,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
"networkInterfaceTapConfigurations": [
{
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapUpdateTags.json
index cee390b2ec00..d67b6180bec1 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapUpdateTags.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/examples/VirtualNetworkTapUpdateTags.json
@@ -26,7 +26,7 @@
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
},
"destinationPort": 4789,
- "provisioningState": "Succeded",
+ "provisioningState": "Succeeded",
"networkInterfaceTapConfigurations": [
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRouteCircuit.json
index c45272011765..dcb2522f2db0 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRouteCircuit.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRouteCircuit.json
@@ -83,7 +83,7 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "Delete ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationDelete.json" }
+ "Delete ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationDelete.json" }
}
},
"get": {
@@ -130,7 +130,7 @@
}
},
"x-ms-examples": {
- "Get ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationGet.json" }
+ "Get ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationGet.json" }
}
},
"put": {
@@ -192,8 +192,8 @@
}
},
"x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Create ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationCreate.json" }
+ "x-ms-examples": {
+ "Create ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationCreate.json" }
}
}
},
@@ -237,8 +237,8 @@
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
- "x-ms-examples": {
- "List ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationList.json" }
+ "x-ms-examples": {
+ "List ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationList.json" }
}
}
},
@@ -505,7 +505,7 @@
}
},
"x-ms-examples": {
- "Delete ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitConnectionDelete.json" }
+ "Delete ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitConnectionDelete.json" }
},
"x-ms-long-running-operation": true
},
@@ -607,7 +607,7 @@
"schema": {
"$ref": "#/definitions/ExpressRouteCircuitConnection"
},
- "description": "Parameters supplied to the create or update express route circuit circuit connection operation."
+ "description": "Parameters supplied to the create or update express route circuit connection operation."
},
{
"$ref": "./network.json#/parameters/ApiVersionParameter"
@@ -685,8 +685,8 @@
"x-ms-pageable": {
"nextLinkName": "nextLink"
},
- "x-ms-examples": {
- "List ExpressRouteCircuit Connection": { "$ref": "./examples/ExpressRouteCircuitConnectionList.json" }
+ "x-ms-examples": {
+ "List ExpressRouteCircuit Connection": { "$ref": "./examples/ExpressRouteCircuitConnectionList.json" }
}
}
},
@@ -1220,7 +1220,7 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "List ExpressRouteCircuits in a subscription": { "$ref": "./examples/ExpressRouteCircuitListBySubscription.json" }
+ "List ExpressRouteCircuits in a subscription": { "$ref": "./examples/ExpressRouteCircuitListBySubscription.json" }
}
}
},
@@ -1241,7 +1241,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns a list of ExpressRouteServiceProdiver resources.",
+ "description": "Request successful. The operation returns a list of ExpressRouteServiceProvider resources.",
"schema": {
"$ref": "#/definitions/ExpressRouteServiceProviderListResult"
}
@@ -1334,7 +1334,7 @@
"items": {
"type": "string"
},
- "description": "The communities of bgp peering. Spepcified for microsoft peering"
+ "description": "The communities of bgp peering. Specified for microsoft peering"
},
"advertisedPublicPrefixesState": {
"type": "string",
@@ -1612,7 +1612,7 @@
"provisioningState": {
"type": "string",
"readOnly": true,
- "description": "Provisioning state of the circuit connection resource. Possible values are: 'Succeded', 'Updating', 'Deleting', and 'Failed'."
+ "description": "Provisioning state of the circuit connection resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
}
}
},
@@ -1782,7 +1782,7 @@
"allowGlobalReach": {
"type": "boolean",
"description": "Flag to enable Global Reach on the circuit."
- }
+ }
},
"description": "Properties of ExpressRouteCircuit."
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRouteCrossConnection.json
index 4baf23a87757..6dffd639bc54 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRouteCrossConnection.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRouteCrossConnection.json
@@ -51,7 +51,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
@@ -91,7 +91,7 @@
],
"responses": {
"200": {
- "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no crossconnection resources an empty list is returned.",
+ "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
"schema": {
"$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRoutePort.json
index ff96bc44fa0b..49919ac2b350 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRoutePort.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/expressRoutePort.json
@@ -40,7 +40,7 @@
"ExpressRoutePortsLocations"
],
"operationId": "ExpressRoutePortsLocations_List",
- "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retriving a specific peering location.",
+ "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retrieving a specific peering location.",
"parameters": [
{
"$ref": "./network.json#/parameters/SubscriptionIdParameter"
@@ -516,7 +516,7 @@
{
"$ref": "./network.json#/definitions/Resource"
}
- ]
+ ]
},
"ExpressRoutePortsLocationListResult": {
"title": "ExpressRoutePorts Location List Result",
@@ -670,7 +670,7 @@
"etherType": {
"readOnly": true,
"type": "string",
- "description": "Ethertype of the physical port."
+ "description": "Ether type of the physical port."
},
"allocationDate": {
"readOnly": true,
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkInterface.json
index 9cd88aca4b68..ec2343c041a9 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkInterface.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkInterface.json
@@ -580,7 +580,7 @@
"description": "Delete successful."
}
},
- "x-ms-examples":
+ "x-ms-examples":
{
"Delete tap configuration": { "$ref": "./examples/NetworkInterfaceTapConfigurationDelete.json" }
},
@@ -629,7 +629,7 @@
}
}
},
- "x-ms-examples":
+ "x-ms-examples":
{
"Get Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationGet.json" }
}
@@ -692,7 +692,7 @@
}
}
},
- "x-ms-examples":
+ "x-ms-examples":
{
"Create Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationCreate.json" }
},
@@ -776,7 +776,7 @@
},
"NetworkInterfaceTapConfigurationPropertiesFormat": {
"properties": {
- "virtualNetworkTap": {
+ "virtualNetworkTap": {
"$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap",
"description": "The reference of the Virtual Network Tap resource."
},
@@ -1158,14 +1158,14 @@
"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 (*)"
+ "description": "The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"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 (*)"
+ "description": "The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*)"
},
"sourceAddressPrefix": {
"type": "string",
@@ -1180,14 +1180,14 @@
"items": {
"type": "string"
},
- "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AureLoadBalancer, Internet), System Tags, and the asterix (*)."
+ "description": "The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"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 (*)."
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
},
"expandedSourceAddressPrefix": {
"type": "array",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkProfile.json
index a544279ff225..fb8c6063c39e 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkProfile.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkProfile.json
@@ -100,7 +100,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the PublicIPPrefx."
+ "description": "The name of the Public IP Prefix."
},
{
"$ref": "./network.json#/parameters/ApiVersionParameter"
@@ -268,7 +268,7 @@
}
},
"x-ms-examples": {
- "List all network profilees": {
+ "List all network profiles": {
"$ref": "./examples/NetworkProfileListAll.json"
}
},
@@ -308,7 +308,7 @@
}
},
"x-ms-examples": {
- "List resource group network profilees": {
+ "List resource group network profiles": {
"$ref": "./examples/NetworkProfileList.json"
}
},
@@ -391,7 +391,7 @@
},
"container": {
"$ref": "#/definitions/Container",
- "description": "Reference to the conatinaer to which this container network interface is attached."
+ "description": "Reference to the container to which this container network interface is attached."
},
"ipConfigurations": {
"type": "array",
@@ -485,13 +485,13 @@
"$ref": "./network.json#/definitions/SubResource"
}
],
- "description": "Container network interface configruation child resource."
+ "description": "Container network interface configuration child resource."
},
"IPConfigurationProfilePropertiesFormat": {
"properties": {
"subnet": {
"$ref": "./virtualNetwork.json#/definitions/Subnet",
- "description": "The reference of the subnet resource to create a contatainer network interface ip configruation."
+ "description": "The reference of the subnet resource to create a container network interface ip configuration."
},
"provisioningState": {
"readOnly": true,
@@ -499,7 +499,7 @@
"description": "The provisioning state of the resource."
}
},
- "description": "IP configruation profile properties."
+ "description": "IP configuration profile properties."
},
"IPConfigurationProfile": {
"properties": {
@@ -555,7 +555,7 @@
"$ref": "#/definitions/ContainerNetworkInterfaceIpConfigurationPropertiesFormat",
"description": "Properties of the container network interface IP configuration."
},
- "name": {
+ "name": {
"type": "string",
"description": "The name of the resource. This name can be used to access the resource."
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkSecurityGroup.json
index 40f9da06d593..9d1ec01bdcb9 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkSecurityGroup.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkSecurityGroup.json
@@ -628,15 +628,15 @@
},
"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."
+ "description": "The source port or range. Integer or range between 0 and 65535. Asterisk '*' 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."
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' 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. "
+ "description": "The CIDR or source IP range. Asterisk '*' 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",
@@ -654,7 +654,7 @@
},
"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."
+ "description": "The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used."
},
"destinationAddressPrefixes": {
"type": "array",
@@ -705,7 +705,7 @@
},
"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'.",
+ "description": "The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'.",
"enum": [
"Inbound",
"Outbound"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkWatcher.json
index 8d4190a3b8d7..a18d8e928dc0 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkWatcher.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/networkWatcher.json
@@ -1785,8 +1785,8 @@
],
"operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic",
"x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
},
"description": "Get network configuration diagnostic.",
"parameters": [
@@ -1822,7 +1822,7 @@
],
"responses": {
"200": {
- "description": "Request successful. The operation returns the result of network condifuration diagnostic.",
+ "description": "Request successful. The operation returns the result of network configuration diagnostic.",
"schema": {
"$ref": "#/definitions/NetworkConfigurationDiagnosticResponse"
}
@@ -3200,7 +3200,7 @@
"properties": {
"location": {
"type": "string",
- "description": "Connection monitor location."
+ "description": "Connection monitor location."
},
"tags": {
"type": "object",
@@ -3385,7 +3385,7 @@
"description": "Information about connection states."
}
},
- "description": "List of connection states snaphots."
+ "description": "List of connection states snapshots."
},
"ConnectionStateSnapshot": {
"properties": {
@@ -3468,7 +3468,7 @@
"description": "The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway."
},
"verbosityLevel": {
- "type": "string",
+ "type": "string",
"enum": [
"Normal",
"Minimum",
@@ -3525,7 +3525,7 @@
},
"destinationPort": {
"type": "string",
- "description": "Traffice destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
+ "description": "Traffic destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
}
}
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/publicIpPrefix.json
index 89700bd2fc1c..00f4202ccf89 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/publicIpPrefix.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/publicIpPrefix.json
@@ -98,7 +98,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the PublicIPPrefx."
+ "description": "The name of the Public IP Prefix."
},
{
"$ref": "./network.json#/parameters/ApiVersionParameter"
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/serviceEndpointPolicy.json
index 6a49211e0458..601a4c3b4b96 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/serviceEndpointPolicy.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/serviceEndpointPolicy.json
@@ -75,7 +75,7 @@
}
},
"x-ms-examples": {
- "Delete service endpoint Policys": { "$ref": "./examples/ServiceEndpointPolicyDelete.json" }
+ "Delete service endpoint Policy": { "$ref": "./examples/ServiceEndpointPolicyDelete.json" }
},
"x-ms-long-running-operation": true
},
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/virtualNetworkGateway.json
index 924e019d8969..e28432eab3c9 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/virtualNetworkGateway.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/virtualNetworkGateway.json
@@ -795,7 +795,7 @@
"description": "Accepted and the operation will complete asynchronously."
},
"200": {
- "description": "Request successful. The operation sets the specificed vpnclient ipsec parameters for P2S client of the virtual network gateway.",
+ "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.",
"schema": {
"$ref": "#/definitions/VpnClientIPsecParameters"
}
@@ -846,8 +846,8 @@
},
"x-ms-long-running-operation": true,
"x-ms-examples": {
- "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
- }
+ "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
+ }
}
},
@@ -1766,7 +1766,7 @@
"$ref": "#/definitions/IpsecPolicy"
},
"description": "VpnClientIpsecPolicies for virtual network gateway P2S client."
- },
+ },
"radiusServerAddress": {
"type": "string",
"description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection."
@@ -2399,7 +2399,7 @@
"ECP384",
"PFS24",
"PFS14",
- "PFSMM"
+ "PFSMM"
],
"x-ms-enum": {
"name": "PfsGroup",
@@ -2560,7 +2560,7 @@
"pfsGroup"
],
"description": "An IPSec parameters for a virtual network gateway P2S connection."
- },
+ },
"LocalNetworkGatewayPropertiesFormat": {
"properties": {
"localNetworkAddressSpace": {
@@ -2658,7 +2658,7 @@
},
"connectionType": {
"type": "string",
- "description": "Gateway connection type. Possible values are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
+ "description": "Gateway connection type. Possible values are: 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient.",
"enum": [
"IPsec",
"Vnet2Vnet",
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/virtualWan.json
index 0c4ec22bea82..95211429158a 100644
--- a/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/virtualWan.json
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-10-01/virtualWan.json
@@ -342,7 +342,7 @@
"$ref": "./examples/VpnSiteGet.json"
}
},
- "description": "Retrieves the details of a VPNsite.",
+ "description": "Retrieves the details of a VPN site.",
"parameters": [
{
"$ref": "./network.json#/parameters/SubscriptionIdParameter"
@@ -2252,7 +2252,7 @@
},
"x-ms-long-running-operation": true
}
- }
+ }
},
"definitions": {
"VirtualWanProperties": {
@@ -2298,7 +2298,7 @@
"items": {
"$ref": "#/definitions/P2SVpnServerConfiguration"
}
- },
+ },
"provisioningState": {
"description": "The provisioning state of the resource.",
"$ref": "#/definitions/ProvisioningState"
@@ -2448,7 +2448,7 @@
"p2SVpnGateway": {
"$ref": "./network.json#/definitions/SubResource",
"description": "The P2SVpnGateway associated with this VirtualHub"
- },
+ },
"expressRouteGateway": {
"$ref": "./network.json#/definitions/SubResource",
"description": "The expressRouteGateway associated with this VirtualHub"
@@ -2836,7 +2836,7 @@
"ProvisioningState": {
"type": "string",
"readOnly": true,
- "description": "The current provisisoning state.",
+ "description": "The current provisioning state.",
"enum": [
"Succeeded",
"Updating",
@@ -2996,7 +2996,7 @@
"publicCertData"
],
"description": "Properties of Radius Server root certificate of P2SVpnServerConfiguration."
- },
+ },
"P2SVpnServerConfigRadiusServerRootCertificate": {
"properties": {
"properties": {
@@ -3096,13 +3096,13 @@
}
],
"description": "Radius client root certificate of P2SVpnServerConfiguration."
- },
+ },
"P2SVpnServerConfigurationProperties": {
"properties": {
"name": {
"type": "string",
- "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name."
- },
+ "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Parent VirtualWan resource name."
+ },
"vpnProtocols": {
"type": "array",
"items": {
@@ -3160,7 +3160,7 @@
},
"radiusServerSecret": {
"type": "string",
- "description": "The radius secret property of the P2SVpnServerConfiguration resource for for point to site client connection."
+ "description": "The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection."
},
"provisioningState": {
"readOnly": true,
@@ -3219,7 +3219,7 @@
"description": "URL to get the next set of operation list results if there are any."
}
}
- },
+ },
"VpnClientConnectionHealth": {
"properties": {
"totalIngressBytesTransferred": {
@@ -3248,7 +3248,7 @@
}
},
"description": "VpnClientConnectionHealth properties"
- },
+ },
"P2SVpnGatewayProperties": {
"properties": {
"virtualHub": {
@@ -3275,7 +3275,7 @@
"vpnClientConnectionHealth": {
"readOnly": true,
"$ref": "#/definitions/VpnClientConnectionHealth",
- "description": "All P2S vpnclients' connection health status."
+ "description": "All P2S VPN clients' connection health status."
}
},
"description": "Parameters for P2SVpnGateway"
@@ -3301,7 +3301,7 @@
}
],
"description": "P2SVpnGateway Resource."
- },
+ },
"ListP2SVpnGatewaysResult": {
"description": "Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results.",
"properties": {
@@ -3343,6 +3343,6 @@
}
},
"description": "Vpn Profile Response for package generation"
- }
+ }
}
}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/applicationGateway.json
new file mode 100644
index 000000000000..fc7f54fa90ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/applicationGateway.json
@@ -0,0 +1,2512 @@
+{
+ "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-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",
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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/applicationGatewayAvailableServerVariables": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableServerVariables",
+ "x-ms-examples": {
+ "Get Available Server Variables": {
+ "$ref": "./examples/ApplicationGatewayAvailableServerVariablesGet.json"
+ }
+ },
+ "description": "Lists all available server variables.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available server variables.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableServerVariablesResult"
+ }
+ },
+ "default": {
+ "description": "unexpected error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableRequestHeaders",
+ "x-ms-examples": {
+ "Get Available Request Headers": {
+ "$ref": "./examples/ApplicationGatewayAvailableRequestHeadersGet.json"
+ }
+ },
+ "description": "Lists all available request headers.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available request headers.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableRequestHeadersResult"
+ }
+ },
+ "default": {
+ "description": "unexpected error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableResponseHeaders",
+ "x-ms-examples": {
+ "Get Available Response Headers": {
+ "$ref": "./examples/ApplicationGatewayAvailableResponseHeadersGet.json"
+ }
+ },
+ "description": "Lists all available response headers.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available response headers.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableResponseHeadersResult"
+ }
+ },
+ "default": {
+ "description": "unexpected error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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",
+ "Standard_v2",
+ "WAF_v2"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of an application gateway.",
+ "enum": [
+ "Standard",
+ "WAF",
+ "Standard_v2",
+ "WAF_v2"
+ ],
+ "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 IP configuration that is unique within an Application Gateway."
+ },
+ "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 authentication certificate that is unique within an Application Gateway."
+ },
+ "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."
+ },
+ "ApplicationGatewayTrustedRootCertificatePropertiesFormat": {
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Certificate public data."
+ },
+ "keyVaultSecretId": {
+ "type": "string",
+ "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the trusted root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Trusted Root certificates properties of an application gateway."
+ },
+ "ApplicationGatewayTrustedRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificatePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the trusted root certificate that is unique within an Application Gateway."
+ },
+ "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": "Trusted Root 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."
+ },
+ "keyVaultSecretId": {
+ "type": "string",
+ "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault."
+ },
+ "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 SSL certificate that is unique within an Application Gateway."
+ },
+ "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 frontend IP configuration that is unique within an Application Gateway."
+ },
+ "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 frontend port that is unique within an Application Gateway"
+ },
+ "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": "Name of the backend address pool that is unique within an Application Gateway."
+ },
+ "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": "The destination port on the backend."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "The protocol used to communicate with the backend. Possible values are 'Http' and 'Https'.",
+ "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."
+ },
+ "trustedRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Array of references to application gateway trusted root 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 backend http settings that is unique within an Application Gateway."
+ },
+ "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 of the HTTP listener. Possible values are 'Http' and 'Https'.",
+ "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'."
+ },
+ "customErrorConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayCustomError"
+ },
+ "description": "Custom error configurations of the HTTP listener."
+ }
+ },
+ "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 HTTP listener that is unique within an Application Gateway."
+ },
+ "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."
+ },
+ "rewriteRuleSet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Rewrite rule set 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 path rule that is unique within an Application Gateway."
+ },
+ "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": "The protocol used for the probe. Possible values are 'Http' and 'Https'.",
+ "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 probe that is unique within an Application Gateway."
+ },
+ "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": "Backend http settings 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."
+ },
+ "rewriteRuleSet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Rewrite Rule Set resource in Basic rule 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 request routing rule that is unique within an Application Gateway."
+ },
+ "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."
+ },
+ "ApplicationGatewayRewriteRuleSet": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayRewriteRuleSetPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the rewrite rule set that is unique within an Application Gateway."
+ },
+ "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": "Rewrite rule set of an application gateway."
+ },
+ "ApplicationGatewayRewriteRuleSetPropertiesFormat": {
+ "properties": {
+ "rewriteRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRewriteRule"
+ },
+ "description": "Rewrite rules in the rewrite rule set."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the rewrite rule set resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of rewrite rule set of the application gateway."
+ },
+ "ApplicationGatewayRewriteRule": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the rewrite rule that is unique within an Application Gateway."
+ },
+ "actionSet": {
+ "type": "object",
+ "$ref": "#/definitions/ApplicationGatewayRewriteRuleActionSet",
+ "description": "Set of actions to be done as part of the rewrite Rule."
+ }
+ },
+ "description": "Rewrite rule of an application gateway."
+ },
+ "ApplicationGatewayRewriteRuleActionSet": {
+ "properties": {
+ "requestHeaderConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration"
+ },
+ "description": "Request Header Actions in the Action Set"
+ },
+ "responseHeaderConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration"
+ },
+ "description": "Response Header Actions in the Action Set"
+ }
+ },
+ "description": "Set of actions in the Rewrite Rule in Application Gateway."
+ },
+ "ApplicationGatewayHeaderConfiguration": {
+ "properties": {
+ "headerName": {
+ "type": "string",
+ "description": "Header name of the header configuration"
+ },
+ "headerValue": {
+ "type": "string",
+ "description": "Header value of the header configuration"
+ }
+ },
+ "description": "Header configuration of the Actions set in 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 redirect configuration that is unique within an Application Gateway."
+ },
+ "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."
+ },
+ "trustedRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificate"
+ },
+ "description": "Trusted Root 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."
+ },
+ "rewriteRuleSets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRewriteRuleSet"
+ },
+ "description": "Rewrite rules for 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."
+ },
+ "enableFips": {
+ "type": "boolean",
+ "description": "Whether FIPS is enabled on the application gateway resource."
+ },
+ "autoscaleConfiguration": {
+ "$ref": "#/definitions/ApplicationGatewayAutoscaleConfiguration",
+ "description": "Autoscale Configuration."
+ },
+ "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'."
+ },
+ "customErrorConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayCustomError"
+ },
+ "description": "Custom error configurations of the application gateway resource."
+ }
+ },
+ "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."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting where the resource needs to come from."
+ },
+ "identity": {
+ "$ref": "./network.json#/definitions/ManagedServiceIdentity",
+ "description": "The identity of the application gateway, if configured."
+ }
+ },
+ "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."
+ },
+ "defaultRewriteRuleSet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Default Rewrite rule set 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 URL path map that is unique within an Application Gateway."
+ },
+ "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": "Maximum request body size for WAF."
+ },
+ "maxRequestBodySizeInKb": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 128,
+ "exclusiveMaximum": false,
+ "minimum": 8,
+ "exclusiveMinimum": false,
+ "description": "Maximum request body size in Kb for WAF."
+ },
+ "fileUploadLimitInMb": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 500,
+ "exclusiveMaximum": false,
+ "minimum": 0,
+ "exclusiveMinimum": false,
+ "description": "Maximum file upload size in Mb for WAF."
+ },
+ "exclusions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallExclusion"
+ },
+ "description": "The exclusion list."
+ }
+ },
+ "required": [
+ "enabled",
+ "firewallMode",
+ "ruleSetType",
+ "ruleSetVersion"
+ ],
+ "description": "Application gateway web application firewall configuration."
+ },
+ "ApplicationGatewayAutoscaleConfiguration": {
+ "properties": {
+ "minCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "exclusiveMinimum": false,
+ "description": "Lower bound on number of Application Gateway capacity"
+ },
+ "maxCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 2,
+ "exclusiveMinimum": false,
+ "description": "Upper bound on number of Application Gateway capacity"
+ }
+ },
+ "required": [
+ "minCapacity"
+ ],
+ "description": "Application Gateway autoscale 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."
+ },
+ "ApplicationGatewayAvailableServerVariablesResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of supported server variables in application gateway."
+ }
+ },
+ "description": "Response for ApplicationGatewayAvailableServerVariables API service call."
+ },
+ "ApplicationGatewayAvailableRequestHeadersResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of supported request headers in application gateway."
+ }
+ },
+ "description": "Response for ApplicationGatewayAvailableRequestHeaders API service call."
+ },
+ "ApplicationGatewayAvailableResponseHeadersResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of supported response header in application gateway."
+ }
+ },
+ "description": "Response for ApplicationGatewayAvailableResponeHeaders API service call."
+ },
+ "ApplicationGatewayFirewallExclusion": {
+ "properties": {
+ "matchVariable": {
+ "type": "string",
+ "description": "The variable to be excluded."
+ },
+ "selectorMatchOperator": {
+ "type": "string",
+ "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to."
+ },
+ "selector": {
+ "type": "string",
+ "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to."
+ }
+ },
+ "required": [
+ "matchVariable",
+ "selectorMatchOperator",
+ "selector"
+ ],
+ "description": "Allow to exclude some variable satisfy the condition for the WAF check"
+ },
+ "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 the 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"
+ },
+ "ApplicationGatewayCustomError": {
+ "properties": {
+ "statusCode": {
+ "type": "string",
+ "description": "Status code of the application gateway customer error.",
+ "enum": [
+ "HttpStatus403",
+ "HttpStatus502"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayCustomErrorStatusCode",
+ "modelAsString": true
+ }
+ },
+ "customErrorPageUrl": {
+ "type": "string",
+ "description": "Error page URL of the application gateway customer error."
+ }
+ },
+ "description": "Customer error of an application gateway."
+ },
+ "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
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/applicationSecurityGroup.json
new file mode 100644
index 000000000000..ea615b1e5abc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/applicationSecurityGroup.json
@@ -0,0 +1,353 @@
+{
+ "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-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" }
+ }
+ },
+ "patch": {
+ "tags": [
+ "applicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_UpdateTags",
+ "description": "Updates an application security group's tags.",
+ "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": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update application security group tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ApplicationSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update application security group tags": { "$ref": "./examples/ApplicationSecurityGroupUpdateTags.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups": {
+ "get": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_ListAll",
+ "description": "Gets all application security groups in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/availableDelegations.json
new file mode 100644
index 000000000000..4eba9f65c87d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/availableDelegations.json
@@ -0,0 +1,166 @@
+{
+ "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-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}/availableDelegations": {
+ "get": {
+ "operationId": "AvailableDelegations_List",
+ "description": "Gets all of the available subnet delegations for this subscription in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the subnet."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the possible delegations for a subnet in this subscription in the region.",
+ "schema": {
+ "$ref": "#/definitions/AvailableDelegationsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available delegations": {
+ "$ref": "./examples/AvailableDelegationsSubscriptionGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations": {
+ "get": {
+ "operationId": "AvailableResourceGroupDelegations_List",
+ "description": "Gets all of the available subnet delegations for this resource group in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the possible delegations for a subnet in this subscription in the region.",
+ "schema": {
+ "$ref": "#/definitions/AvailableDelegationsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available delegations in the resource group": {
+ "$ref": "./examples/AvailableDelegationsResourceGroupGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AvailableDelegationsResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailableDelegation"
+ },
+ "description": "An array of available delegations."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "An array of available delegations."
+ },
+ "AvailableDelegation": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the AvailableDelegation resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "A unique identifier of the AvailableDelegation resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type."
+ },
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the service and resource "
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Describes the actions permitted to the service upon delegation"
+ }
+ },
+ "description": "The serviceName of an AvailableDelegation indicates a possible delegation for a subnet."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/azureFirewall.json
new file mode 100644
index 000000000000..189a5f664b37
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/azureFirewall.json
@@ -0,0 +1,766 @@
+{
+ "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-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/azureFirewalls/{azureFirewallName}":{
+ "delete":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_Delete",
+ "description":"Deletes the specified Azure Firewall.",
+ "parameters":[
+ {
+ "name":"resourceGroupName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the resource group."
+ },
+ {
+ "name":"azureFirewallName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the Azure Firewall."
+ },
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/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-examples":{
+ "Delete Azure Firewall":{
+ "$ref":"./examples/AzureFirewallDelete.json"
+ }
+ },
+ "x-ms-long-running-operation":true
+ },
+ "get":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_Get",
+ "description":"Gets the specified Azure Firewall.",
+ "parameters":[
+ {
+ "name":"resourceGroupName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the resource group."
+ },
+ {
+ "name":"azureFirewallName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the Azure Firewall."
+ },
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"Request successful. The operation returns an AzureFirewall resource.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewall"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "Get Azure Firewall":{
+ "$ref":"./examples/AzureFirewallGet.json"
+ }
+ }
+ },
+ "put":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_CreateOrUpdate",
+ "description":"Creates or updates the specified Azure Firewall.",
+ "parameters":[
+ {
+ "name":"resourceGroupName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the resource group."
+ },
+ {
+ "name":"azureFirewallName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the Azure Firewall."
+ },
+ {
+ "name":"parameters",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/AzureFirewall"
+ },
+ "description":"Parameters supplied to the create or update Azure Firewall operation."
+ },
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "201":{
+ "description":"Create successful. The operation returns the resulting AzureFirewall resource.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewall"
+ }
+ },
+ "200":{
+ "description":"Update successful. The operation returns the resulting AzureFirewall resource.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewall"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "Create Azure Firewall":{
+ "$ref":"./examples/AzureFirewallPut.json"
+ }
+ },
+ "x-ms-long-running-operation":true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_List",
+ "description":"Lists all Azure Firewalls in a resource group.",
+ "parameters":[
+ {
+ "name":"resourceGroupName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the resource group."
+ },
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"Success. The operation returns a list of AzureFirewall resources.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewallListResult"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given resource group":{
+ "$ref":"./examples/AzureFirewallListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable":{
+ "nextLinkName":"nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_ListAll",
+ "description":"Gets all the Azure Firewalls in a subscription.",
+ "parameters":[
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"Success. The operation returns a list of AzureFirewall resources.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewallListResult"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given subscription":{
+ "$ref":"./examples/AzureFirewallListBySubscription.json"
+ }
+ },
+ "x-ms-pageable":{
+ "nextLinkName":"nextLink"
+ }
+ }
+ }
+ },
+ "definitions":{
+ "AzureFirewallIPConfigurationPropertiesFormat":{
+ "properties":{
+ "privateIPAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes."
+ },
+ "subnet":{
+ "$ref":"./network.json#/definitions/SubResource",
+ "description":"Reference of the subnet resource. This resource must be named 'AzureFirewallSubnet'."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the PublicIP resource. This field is a mandatory input if subnet is not null."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ }
+ },
+ "description":"Properties of IP configuration of an Azure Firewall."
+ },
+ "AzureFirewallIPConfiguration":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallIPConfigurationPropertiesFormat"
+ },
+ "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",
+ "readOnly": true,
+ "description":"A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf":[
+ {
+ "$ref":"./network.json#/definitions/SubResource"
+ }
+ ],
+ "description":"IP configuration of an Azure Firewall."
+ },
+ "AzureFirewallPropertiesFormat":{
+ "properties":{
+ "applicationRuleCollections":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallApplicationRuleCollection"
+ },
+ "description":"Collection of application rule collections used by Azure Firewall."
+ },
+ "natRuleCollections":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNatRuleCollection"
+ },
+ "description":"Collection of NAT rule collections used by Azure Firewall."
+ },
+ "networkRuleCollections":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNetworkRuleCollection"
+ },
+ "description":"Collection of network rule collections used by Azure Firewall."
+ },
+ "ipConfigurations":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallIPConfiguration"
+ },
+ "description":"IP configuration of the Azure Firewall resource."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ }
+ },
+ "description":"Properties of the Azure Firewall."
+ },
+ "AzureFirewall":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallPropertiesFormat"
+ },
+ "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":"Azure Firewall resource"
+ },
+ "AzureFirewallListResult":{
+ "properties":{
+ "value":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewall"
+ },
+ "description":"List of Azure Firewalls in a resource group."
+ },
+ "nextLink":{
+ "type":"string",
+ "description":"URL to get the next set of results."
+ }
+ },
+ "description":"Response for ListAzureFirewalls API service call."
+ },
+ "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
+ "type":"integer",
+ "format":"int32",
+ "maximum":65000,
+ "exclusiveMaximum":false,
+ "minimum":100,
+ "exclusiveMinimum":false,
+ "description":"Priority of the application rule collection resource."
+ },
+ "action":{
+ "$ref":"#/definitions/AzureFirewallRCAction",
+ "description":"The action type of a rule collection"
+ },
+ "rules":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallApplicationRule"
+ },
+ "description":"Collection of rules used by a application rule collection."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ }
+ },
+ "description":"Properties of the application rule collection."
+ },
+ "AzureFirewallApplicationRuleCollection":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat"
+ },
+ "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",
+ "readOnly":true,
+ "description":"Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf":[
+ {
+ "$ref":"./network.json#/definitions/SubResource"
+ }
+ ],
+ "description":"Application rule collection resource"
+ },
+ "AzureFirewallApplicationRuleProtocol":{
+ "properties":{
+ "protocolType":{
+ "description":"Protocol type",
+ "$ref":"#/definitions/AzureFirewallApplicationRuleProtocolType"
+ },
+ "port":{
+ "type":"integer",
+ "format":"int32",
+ "maximum":64000,
+ "exclusiveMaximum":false,
+ "minimum":0,
+ "exclusiveMinimum":false,
+ "description":"Port number for the protocol, cannot be greater than 64000. This field is optional."
+ }
+ },
+ "description":"Properties of the application rule protocol."
+ },
+ "AzureFirewallApplicationRule":{
+ "properties":{
+ "name":{
+ "type":"string",
+ "description":"Name of the application rule."
+ },
+ "description":{
+ "type":"string",
+ "description":"Description of the rule."
+ },
+ "sourceAddresses":{
+ "type":"array",
+ "description":"List of source IP addresses for this rule.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "protocols":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallApplicationRuleProtocol"
+ },
+ "description":"Array of ApplicationRuleProtocols."
+ },
+ "targetFqdns":{
+ "type":"array",
+ "description":"List of FQDNs for this rule.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "fqdnTags":{
+ "type":"array",
+ "description":"List of FQDN Tags for this rule.",
+ "items":{
+ "type":"string"
+ }
+ }
+ },
+ "description":"Properties of an application rule."
+ },
+ "AzureFirewallNatRuleCollectionProperties": {
+ "properties":{
+ "priority":{
+ "type":"integer",
+ "format":"int32",
+ "maximum":65000,
+ "exclusiveMaximum":false,
+ "minimum":100,
+ "exclusiveMinimum":false,
+ "description":"Priority of the NAT rule collection resource."
+ },
+ "action":{
+ "$ref":"#/definitions/AzureFirewallNatRCAction",
+ "description":"The action type of a NAT rule collection"
+ },
+ "rules":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNatRule"
+ },
+ "description":"Collection of rules used by a NAT rule collection."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ }
+ },
+ "description":"Properties of the NAT rule collection."
+ },
+ "AzureFirewallNatRuleCollection":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallNatRuleCollectionProperties"
+ },
+ "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",
+ "readOnly":true,
+ "description":"Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf":[
+ {
+ "$ref":"./network.json#/definitions/SubResource"
+ }
+ ],
+ "description":"NAT rule collection resource"
+ },
+ "AzureFirewallNatRule":{
+ "properties":{
+ "name":{
+ "type":"string",
+ "description":"Name of the NAT rule."
+ },
+ "description":{
+ "type":"string",
+ "description":"Description of the rule."
+ },
+ "sourceAddresses":{
+ "type":"array",
+ "description":"List of source IP addresses for this rule.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "destinationAddresses":{
+ "type":"array",
+ "description":"List of destination IP addresses for this rule.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "destinationPorts":{
+ "type":"array",
+ "description":"List of destination ports.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "protocols":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
+ },
+ "description":"Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule."
+ },
+ "translatedAddress":{
+ "type":"string",
+ "description":"The translated address for this NAT rule."
+ },
+ "translatedPort":{
+ "type":"string",
+ "description":"The translated port for this NAT rule."
+ }
+ },
+ "description":"Properties of a NAT rule."
+ },
+ "AzureFirewallNatRCAction":{
+ "properties":{
+ "type":{
+ "description":"The type of action.",
+ "$ref":"#/definitions/AzureFirewallNatRCActionType"
+ }
+ },
+ "description":"AzureFirewall NAT Rule Collection Action."
+ },
+ "AzureFirewallNatRCActionType":{
+ "type":"string",
+ "description":"The action type of a NAT rule collection",
+ "enum":[
+ "Snat",
+ "Dnat"
+ ],
+ "x-ms-enum":{
+ "name":"AzureFirewallNatRCActionType",
+ "modelAsString":true
+ }
+ },
+ "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
+ "type":"integer",
+ "format":"int32",
+ "maximum":65000,
+ "exclusiveMaximum":false,
+ "minimum":100,
+ "exclusiveMinimum":false,
+ "description":"Priority of the network rule collection resource."
+ },
+ "action":{
+ "$ref":"#/definitions/AzureFirewallRCAction",
+ "description":"The action type of a rule collection"
+ },
+ "rules":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNetworkRule"
+ },
+ "description":"Collection of rules used by a network rule collection."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ }
+ },
+ "description":"Properties of the network rule collection."
+ },
+ "AzureFirewallNetworkRuleCollection":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat"
+ },
+ "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",
+ "readOnly":true,
+ "description":"Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf":[
+ {
+ "$ref":"./network.json#/definitions/SubResource"
+ }
+ ],
+ "description":"Network rule collection resource"
+ },
+ "AzureFirewallNetworkRule":{
+ "properties":{
+ "name":{
+ "type":"string",
+ "description":"Name of the network rule."
+ },
+ "description":{
+ "type":"string",
+ "description":"Description of the rule."
+ },
+ "protocols":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
+ },
+ "description":"Array of AzureFirewallNetworkRuleProtocols."
+ },
+ "sourceAddresses":{
+ "type":"array",
+ "description":"List of source IP addresses for this rule.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "destinationAddresses":{
+ "type":"array",
+ "description":"List of destination IP addresses.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "destinationPorts":{
+ "type":"array",
+ "description":"List of destination ports.",
+ "items":{
+ "type":"string"
+ }
+ }
+ },
+ "description":"Properties of the network rule."
+ },
+ "AzureFirewallRCAction":{
+ "properties":{
+ "type":{
+ "description":"The type of action.",
+ "$ref":"#/definitions/AzureFirewallRCActionType"
+ }
+ },
+ "description":"Properties of the AzureFirewallRCAction."
+ },
+ "AzureFirewallRCActionType":{
+ "type":"string",
+ "description":"The action type of a rule collection",
+ "enum":[
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum":{
+ "name":"AzureFirewallRCActionType",
+ "modelAsString":true
+ }
+ },
+ "ProvisioningState":{
+ "type":"string",
+ "readOnly":true,
+ "description":"The current provisioning state.",
+ "enum":[
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum":{
+ "name":"ProvisioningState",
+ "modelAsString":true
+ }
+ },
+ "AzureFirewallNetworkRuleProtocol":{
+ "type":"string",
+ "description":"The protocol of a Network Rule resource",
+ "enum":[
+ "TCP",
+ "UDP",
+ "Any",
+ "ICMP"
+ ],
+ "x-ms-enum":{
+ "name":"AzureFirewallNetworkRuleProtocol",
+ "modelAsString":true
+ }
+ },
+ "AzureFirewallApplicationRuleProtocolType":{
+ "type":"string",
+ "description":"The protocol type of a Application Rule resource",
+ "enum":[
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum":{
+ "name":"AzureFirewallApplicationRuleProtocolType",
+ "modelAsString":true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/azureFirewallFqdnTag.json
new file mode 100644
index 000000000000..65e2d9e802ee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/azureFirewallFqdnTag.json
@@ -0,0 +1,139 @@
+{
+ "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-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/azureFirewallFqdnTags": {
+ "get": {
+ "tags": [
+ "AzureFirewallFqdnTags"
+ ],
+ "operationId": "AzureFirewallFqdnTags_ListAll",
+ "description":"Gets all the Azure Firewall FQDN Tags in a subscription.",
+ "parameters":[
+ {
+ "$ref":"#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"Success. The operation returns a list of Azure Firewall FQDN Tag resources.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewallFqdnTagListResult"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "List all Azure Firewall FQDN Tags for a given subscription":{
+ "$ref":"./examples/AzureFirewallFqdnTagsListBySubscription.json"
+ }
+ },
+ "x-ms-pageable":{
+ "nextLinkName":"nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AzureFirewallFqdnTagPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource."
+ },
+ "fqdnTagName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of this FQDN Tag."
+ }
+ },
+ "description": "Azure Firewall FQDN Tag Properties"
+ },
+ "AzureFirewallFqdnTag": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallFqdnTagPropertiesFormat"
+ },
+ "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": "Azure Firewall FQDN Tag Resource"
+ },
+ "AzureFirewallFqdnTagListResult":{
+ "properties":{
+ "value":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallFqdnTag"
+ },
+ "description":"List of Azure Firewall FQDN Tags in a resource group."
+ },
+ "nextLink":{
+ "type":"string",
+ "description":"URL to get the next set of results."
+ }
+ },
+ "description":"Response for ListAzureFirewallFqdnTags 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-11-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/checkDnsAvailability.json
new file mode 100644
index 000000000000..42e0fdd5ae93
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/checkDnsAvailability.json
@@ -0,0 +1,88 @@
+{
+ "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-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}/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/ddosCustomPolicy.json
new file mode 100644
index 000000000000..d9dc7d282ef9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/ddosCustomPolicy.json
@@ -0,0 +1,394 @@
+{
+ "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-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/ddosCustomPolicies/{ddosCustomPolicyName}": {
+ "delete": {
+ "tags": [
+ "ddosCustomPolicies"
+ ],
+ "operationId": "DdosCustomPolicies_Delete",
+ "description": "Deletes the specified DDoS custom policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosCustomPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS custom policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete DDoS custom policy": {
+ "$ref": "./examples/DdosCustomPolicyDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ddosCustomPolicies"
+ ],
+ "operationId": "DdosCustomPolicies_Get",
+ "description": "Gets information about the specified DDoS custom policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosCustomPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS custom policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the specified DDoS custom policy resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DDoS custom policy": {
+ "$ref": "./examples/DdosCustomPolicyGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ddosCustomPolicies"
+ ],
+ "operationId": "DdosCustomPolicies_CreateOrUpdate",
+ "description": "Creates or updates a DDoS custom policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosCustomPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS custom policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ },
+ "description": "Parameters supplied to the create or update operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting DDoS custom policy resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting DDoS custom policy resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create DDoS custom policy": {
+ "$ref": "./examples/DdosCustomPolicyCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ddosCustomPolicies"
+ ],
+ "operationId": "DdosCustomPolicies_UpdateTags",
+ "description": "Update a DDoS custom policy tags",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosCustomPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS custom policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the update DDoS custom policy resource tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting DDoS custom policy resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DDoS Custom policy Update tags": {
+ "$ref": "./examples/DdosCustomPolicyUpdateTags.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DdosCustomPolicy": {
+ "description": "A DDoS custom policy in a resource group.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DdosCustomPolicyPropertiesFormat",
+ "description": "Properties of the DDoS custom policy."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "DdosCustomPolicyPropertiesFormat": {
+ "properties": {
+ "resourceGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the DDoS custom policy resource. It uniquely identifies the 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 DDoS custom policy resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ },
+ "publicIPAddresses": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "The list of public IPs associated with the DDoS custom policy resource. This list is read-only."
+ },
+ "protocolCustomSettings": {
+ "readOnly": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtocolCustomSettingsFormat"
+ },
+ "description": "The protocol-specific DDoS policy customization parameters."
+ }
+ },
+ "description": "DDoS custom policy properties."
+ },
+ "ProtocolCustomSettingsFormat": {
+ "properties": {
+ "protocol": {
+ "readOnly": false,
+ "type": "string",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "Syn"
+ ],
+ "x-ms-enum": {
+ "name": "DdosCustomPolicyProtocol",
+ "modelAsString": true
+ },
+ "description": "The protocol for which the DDoS protection policy is being customized."
+ },
+ "triggerRateOverride": {
+ "readOnly": false,
+ "type": "string",
+ "description": "The customized DDoS protection trigger rate."
+ },
+ "sourceRateOverride": {
+ "readOnly": false,
+ "type": "string",
+ "description": "The customized DDoS protection source rate."
+ },
+ "triggerSensitivityOverride": {
+ "readOnly": false,
+ "type": "string",
+ "enum": [
+ "Relaxed",
+ "Low",
+ "Default",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "DdosCustomPolicyTriggerSensitivityOverride",
+ "modelAsString": true
+ },
+ "description": "The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate sensitivity w.r.t. normal traffic. Low: Trigger rate set with less sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least sensitivity w.r.t. normal traffic."
+ }
+ },
+ "description": "DDoS custom policy properties."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Cloud error body."
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/ddosProtectionPlan.json
new file mode 100644
index 000000000000..b20425a6aad6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/ddosProtectionPlan.json
@@ -0,0 +1,343 @@
+{
+ "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-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/ddosProtectionPlans/{ddosProtectionPlanName}": {
+ "delete": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_Delete",
+ "description": "Deletes the specified DDoS protection plan.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosProtectionPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS protection plan."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 DDoS protection plan": {
+ "$ref": "./examples/DdosProtectionPlanDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_Get",
+ "description": "Gets information about the specified DDoS protection plan.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosProtectionPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS protection plan."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the specified DDoS protection plan resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DDoS protection plan": {
+ "$ref": "./examples/DdosProtectionPlanGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_CreateOrUpdate",
+ "description": "Creates or updates a DDoS protection plan.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosProtectionPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS protection plan."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ },
+ "description": "Parameters supplied to the create or update operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting DDoS protection plan resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting DDoS protection plan resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create DDoS protection plan": {
+ "$ref": "./examples/DdosProtectionPlanCreate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans": {
+ "get": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_List",
+ "description": "Gets all DDoS protection plans in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of DDoS protection plan resources.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlanListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all DDoS protection plans": {
+ "$ref": "./examples/DdosProtectionPlanListAll.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans": {
+ "get": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_ListByResourceGroup",
+ "description": "Gets all the DDoS protection plans in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of DDoS protection plan resources.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlanListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List DDoS protection plans in resource group": {
+ "$ref": "./examples/DdosProtectionPlanList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DdosProtectionPlan": {
+ "description": "A DDoS protection plan in a resource group.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DdosProtectionPlanPropertiesFormat",
+ "description": "Properties of the DDoS protection plan."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ }
+ },
+ "DdosProtectionPlanPropertiesFormat": {
+ "properties": {
+ "resourceGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the DDoS protection plan resource. It uniquely identifies the 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 DDoS protection plan resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ },
+ "virtualNetworks": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "The list of virtual networks associated with the DDoS protection plan resource. This list is read-only."
+ }
+ },
+ "description": "DDoS protection plan properties."
+ },
+ "DdosProtectionPlanListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ },
+ "description": "A list of DDoS protection plans."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "A list of DDoS protection plans."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/endpointService.json
new file mode 100644
index 000000000000..3efb9a2970ea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/endpointService.json
@@ -0,0 +1,111 @@
+{
+ "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-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
new file mode 100644
index 000000000000..e092ea1a674b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ "Accept-Charset"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
new file mode 100644
index 000000000000..6eb02c77201b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ "Access-Control-Allow-Origin"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
new file mode 100644
index 000000000000..c5f3db425142
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ "request_query"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
new file mode 100644
index 000000000000..59681a032eb7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
new file mode 100644
index 000000000000..59681a032eb7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
new file mode 100644
index 000000000000..801180af1c94
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "predefinedPolicyName": "AppGwSslPolicy20150501"
+ },
+ "responses": {
+ "200": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
new file mode 100644
index 000000000000..fb6e39ac1281
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2018-11-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."
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayBackendHealthGet.json
new file mode 100644
index 000000000000..b281b322b35e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayBackendHealthGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2018-11-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": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayCreate.json
new file mode 100644
index 000000000000..379221b974c7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayCreate.json
@@ -0,0 +1,701 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw",
+ "parameters": {
+ "identity": {
+ "type":"UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ },
+ "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": "****"
+ }
+ },
+ {
+ "name": "sslcert2",
+ "properties": {
+ "keyVaultSecretId": "https://kv/secret"
+ }
+ }
+ ],
+ "trustedRootCertificates": [
+ {
+ "name": "rootcert",
+ "properties": {
+ "data": "****"
+ }
+ },
+ {
+ "name": "rootcert1",
+ "properties": {
+ "keyVaultSecretId": "https://kv/secret"
+ }
+ }
+ ],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "properties": {
+ "port": 443
+ }
+ },
+ {
+ "name": "appgwfp80",
+ "properties": {
+ "port": 80
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwhttplistener",
+ "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/appgwfp80"
+ },
+ "protocol": "Http"
+ }
+ }
+ ],
+ "urlPathMaps": [
+ {
+ "name": "pathMap1",
+ "properties": {
+ "defaultBackendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "defaultBackendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "defaultRewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ },
+ "pathRules": [
+ {
+ "name": "apiPaths",
+ "properties": {
+ "paths": [
+ "/api", "/v1/api"
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ },
+ {
+ "name": "appgwPathBasedRule",
+ "properties": {
+ "ruleType": "PathBasedRouting",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener"
+ },
+ "urlPathMap": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1"
+ }
+ }
+ }
+ ],
+ "rewriteRuleSets": [
+ {
+ "name": "rewriteRuleSet1",
+ "properties": {
+ "rewriteRules": [
+ {
+ "name": "Set X-Forwarded-For",
+ "actionSet": {
+ "requestHeaderConfigurations": [
+ {
+ "headerName": "X-Forwarded-For",
+ "headerValue": "{var_remote-addr}"
+ }
+ ],
+ "responseHeaderConfigurations": [
+ {
+ "headerName": "Strict-Transport-Security",
+ "headerValue": "max-age=31536000"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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
+ }
+ },
+ {
+ "name": "appgwfp80",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwhttplistener",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener",
+ "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/appgwfp80"
+ },
+ "protocol": "Http"
+ }
+ }
+ ],
+ "urlPathMaps": [
+ {
+ "name": "pathMap1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultBackendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "defaultBackendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "defaultRewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ },
+ "pathRules": [
+ {
+ "name": "apiPaths",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "paths": [
+ "/api", "/v1/api"
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ },
+ {
+ "name": "appgwPathBasedRule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "PathBasedRouting",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener"
+ },
+ "urlPathMap": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1"
+ }
+ }
+ }
+ ],
+ "rewriteRuleSets": [
+ {
+ "name": "rewriteRuleSet1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rewriteRules": [
+ {
+ "name": "Set X-Forwarded-For",
+ "actionSet": {
+ "requestHeaderConfigurations": [
+ {
+ "headerName": "X-Forwarded-For",
+ "headerValue": "{var_remote-addr}"
+ }
+ ],
+ "responseHeaderConfigurations": [
+ {
+ "headerName": "Strict-Transport-Security",
+ "headerValue": "max-age=31536000"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwfp80",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwhttplistener",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener",
+ "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/appgwfp80"
+ },
+ "protocol": "Http"
+ }
+ }
+ ],
+ "urlPathMaps": [
+ {
+ "name": "pathMap1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultBackendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "defaultBackendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "defaultRewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ },
+ "pathRules": [
+ {
+ "name": "apiPaths",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "paths": [
+ "/api", "/v1/api"
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ },
+ {
+ "name": "appgwPathBasedRule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "PathBasedRouting",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener"
+ },
+ "urlPathMap": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1"
+ }
+ }
+ }
+ ],
+ "rewriteRuleSets": [
+ {
+ "name": "rewriteRuleSet1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rewriteRules": [
+ {
+ "name": "Set X-Forwarded-For",
+ "actionSet": {
+ "requestHeaderConfigurations": [
+ {
+ "headerName": "X-Forwarded-For",
+ "headerValue": "{var_remote-addr}"
+ }
+ ],
+ "responseHeaderConfigurations": [
+ {
+ "headerName": "Strict-Transport-Security",
+ "headerValue": "max-age=31536000"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "probes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayDelete.json
new file mode 100644
index 000000000000..f3742751c9d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayGet.json
new file mode 100644
index 000000000000..e113067714c5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayGet.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "api-version": "2018-11-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
+ }
+ },
+ {
+ "name": "appgwfp80",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwhttplistener",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener",
+ "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/appgwfp80"
+ },
+ "protocol": "Http"
+ }
+ }
+ ],
+ "urlPathMaps": [
+ {
+ "name": "pathMap1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultBackendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "defaultBackendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "defaultRewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ },
+ "pathRules": [
+ {
+ "name": "apiPaths",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "paths": [
+ "/api", "/v1/api"
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ },
+ {
+ "name": "appgwPathBasedRule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "PathBasedRouting",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener"
+ },
+ "urlPathMap": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1"
+ }
+ }
+ }
+ ],
+ "rewriteRuleSets": [
+ {
+ "name": "rewriteRuleSet1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rewriteRules": [
+ {
+ "name": "Set X-Forwarded-For",
+ "actionSet": {
+ "requestHeaderConfigurations": [
+ {
+ "headerName": "X-Forwarded-For",
+ "headerValue": "{var_remote-addr}"
+ }
+ ],
+ "responseHeaderConfigurations": [
+ {
+ "headerName": "Strict-Transport-Security",
+ "headerValue": "max-age=31536000"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "probes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayList.json
new file mode 100644
index 000000000000..891b54c25efe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayList.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2018-11-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"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayListAll.json
new file mode 100644
index 000000000000..22f29301a5b7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayListAll.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2018-11-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"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayStart.json
new file mode 100644
index 000000000000..b5bb0c752a70
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayStop.json
new file mode 100644
index 000000000000..b5bb0c752a70
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayUpdateTags.json
new file mode 100644
index 000000000000..fff14b7e284d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationGatewayUpdateTags.json
@@ -0,0 +1,148 @@
+{
+ "parameters" : {
+ "api-version": "2018-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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupCreate.json
new file mode 100644
index 000000000000..2deba03ab9e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupCreate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-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/2018-11-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupDelete.json
new file mode 100644
index 000000000000..fa9e132ff99c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupGet.json
new file mode 100644
index 000000000000..acf217f4875f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-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/2018-11-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupList.json
new file mode 100644
index 000000000000..bbb9c00df87f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupList.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupListAll.json
new file mode 100644
index 000000000000..734851646322
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..9cf83b4fd60a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ApplicationSecurityGroupUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "applicationSecurityGroupName" : "test-asg",
+ "location": "westus",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-asg",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type" : "Microsoft.Network/applicationSecurityGroups",
+ "location" : "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AvailableDelegationsResourceGroupGet.json
new file mode 100644
index 000000000000..b10ba85d21a4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AvailableDelegationsResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "location": "regionName",
+ "subscriptionId" : "subId",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "Microsoft.Provider.resourceType",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availableDelegations/Microsoft.Provider.resourceType",
+ "type": "Microsoft.Network/availableDelegations",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": [
+ "Microsoft.Network/resource/action"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AvailableDelegationsSubscriptionGet.json
new file mode 100644
index 000000000000..1da074d5634d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AvailableDelegationsSubscriptionGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "location": "regionName",
+ "subscriptionId" : "subId"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "Microsoft.Provider.resourceType",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/availableDelegations/Microsoft.Provider.resourceType",
+ "type": "Microsoft.Network/availableDelegations",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": [
+ "Microsoft.Network/resource/action"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallDelete.json
new file mode 100644
index 000000000000..04f8f963d11d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "azureFirewallName" : "azurefirewall"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallFqdnTagsListBySubscription.json
new file mode 100644
index 000000000000..622a646436e6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallFqdnTagsListBySubscription.json
@@ -0,0 +1,28 @@
+{
+ "parameters":{
+ "api-version":"2018-11-01",
+ "subscriptionId":"subid"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":"azfwfqdntag",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewallFqdnTags/azfwfqdntag",
+ "type":"Microsoft.Network/azureFirewallFqdnTags",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "fqdnTagName":"azfwfqdntag"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallGet.json
new file mode 100644
index 000000000000..2e4589fbadb8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallGet.json
@@ -0,0 +1,128 @@
+{
+ "parameters":{
+ "api-version": "2018-11-01",
+ "subscriptionId":"subid",
+ "resourceGroupName":"rg1",
+ "azureFirewallName":"azurefirewall"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallListByResourceGroup.json
new file mode 100644
index 000000000000..f0b1dfec931e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallListByResourceGroup.json
@@ -0,0 +1,131 @@
+{
+ "parameters":{
+ "api-version": "2018-11-01",
+ "subscriptionId":"subid",
+ "resourceGroupName":"rg1"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallListBySubscription.json
new file mode 100644
index 000000000000..795a92442d26
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallListBySubscription.json
@@ -0,0 +1,130 @@
+{
+ "parameters":{
+ "api-version": "2018-11-01",
+ "subscriptionId":"subid"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallPut.json
new file mode 100644
index 000000000000..cb494de6b306
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/AzureFirewallPut.json
@@ -0,0 +1,352 @@
+{
+ "parameters":{
+ "api-version": "2018-11-01",
+ "subscriptionId":"subid",
+ "resourceGroupName":"rg1",
+ "azureFirewallName":"azurefirewall",
+ "parameters":{
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "properties":{
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201":{
+ "body":{
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/CheckDnsNameAvailability.json
new file mode 100644
index 000000000000..8e3c43d3c289
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/CheckDnsNameAvailability.json
@@ -0,0 +1,15 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "location" : "westus",
+ "domainNameLabel" : "testdns"
+ },
+ "responses" : {
+ "200" : {
+ "body": {
+ "available": false
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyCreate.json
new file mode 100644
index 000000000000..7877d3965feb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "protocolCustomSettings": [
+ {
+ "protocol": "Tcp"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [],
+ "protocolCustomSettings": [
+ {
+ "protocol": "Tcp", "triggerRateOverride": "20000"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [],
+ "protocolCustomSettings": [
+ {
+ "protocol": "Tcp", "triggerRateOverride": "20000"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyDelete.json
new file mode 100644
index 000000000000..053a8ca6beb8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyDelete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyGet.json
new file mode 100644
index 000000000000..ccf758a61cfe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyUpdateTags.json
new file mode 100644
index 000000000000..2287e084c009
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosCustomPolicyUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [],
+ "protocolCustomSettings": [
+ {
+ "protocol": "Tcp", "triggerRateOverride": "20000"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanCreate.json
new file mode 100644
index 000000000000..8f0c13863d3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan",
+ "parameters": {
+ "location": "westus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanDelete.json
new file mode 100644
index 000000000000..29bed549716b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanGet.json
new file mode 100644
index 000000000000..a7045587bf2f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanList.json
new file mode 100644
index 000000000000..734cd54d0d1e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1",
+ "name": "plan1",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2",
+ "name": "plan2",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanListAll.json
new file mode 100644
index 000000000000..d4572b5559bb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DdosProtectionPlanListAll.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1",
+ "name": "plan1",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet1"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2",
+ "name": "plan2",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet2"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet3"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DefaultSecurityRuleGet.json
new file mode 100644
index 000000000000..a730db341362
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DefaultSecurityRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-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/2018-11-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DefaultSecurityRuleList.json
new file mode 100644
index 000000000000..706f8e71a06e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/DefaultSecurityRuleList.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-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/2018-11-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/EndpointServicesList.json
new file mode 100644
index 000000000000..a2c4dfc1067b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/EndpointServicesList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2018-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitARPTableList.json
new file mode 100644
index 000000000000..bbd4fbc18456
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitARPTableList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "age": 0,
+ "interface": "Microsoft",
+ "ipAddress": "IPAddress",
+ "macAddress": "macAddress"
+ }
+ ]
+ },
+ "202": {
+ "value": [
+ {
+ "age": 0,
+ "interface": "Microsoft",
+ "ipAddress": "IPAddress",
+ "macAddress": "macAddress"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationCreate.json
new file mode 100644
index 000000000000..f24e6c1e9d39
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters":{
+ "circuitName":"circuitName",
+ "resourceGroupName":"rg1",
+ "authorizationName":"authorizatinName",
+ "api-version": "2018-11-01",
+ "subscriptionId":"subid",
+ "authorizationParameters":{
+ "properties": {
+ "authorizationKey": "authKey",
+ "authorizationUseStatus":"Available"
+ }
+ }
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "name":"authorizationName",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName",
+ "etag":"W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"",
+ "properties":{
+ "provisioningState":"Updating",
+ "authorizationUseStatus":"Available"
+ }
+ }
+ },
+ "200":{
+ "body":{
+ "name":"authorizationName",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/authorizations/authorizationName",
+ "etag":"W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"",
+ "properties":{
+ "provisioningState":"Updating",
+ "authorizationUseStatus":"Available"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationDelete.json
new file mode 100644
index 000000000000..1e6f8818ea4e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters":{
+ "circuitName":"circuitName",
+ "resourceGroupName":"rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId":"subid",
+ "authorizationName":"authorizationName"
+ },
+ "responses":{
+ "200":{
+
+ },
+ "202":{
+
+ },
+ "204":{
+
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationGet.json
new file mode 100644
index 000000000000..b0d0a90656fa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "authorizationName": "authorizationName"
+ },
+ "responses": {
+ "200": {
+ "name": "MyAuthorization1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authKey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationList.json
new file mode 100644
index 000000000000..c29cc1c400d3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitAuthorizationList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "MyAuthorization1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authKey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionCreate.json
new file mode 100644
index 000000000000..de43cd16bae6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering",
+ "type": "Microsoft.Network/expressRouteCircuits/peerings/connections",
+ "expressRouteCircuitConnectionParameters": {
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/29"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionDelete.json
new file mode 100644
index 000000000000..38439b21e060
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering",
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..f39b11e98e72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..ade2bde08270
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitConnectionList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSEUR",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSEUR",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharckteurope/providers/Microsoft.Network/expressRouteCircuits/dedharcktams/peerings/AzurePrivatePeering"
+ },
+ "addressPrefix": "20.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitCreate.json
new file mode 100644
index 000000000000..149e450f725f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitCreate.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ },
+ "properties": {
+ "authorizations": [],
+ "peerings": [],
+ "allowClassicOperations": false,
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ }
+ },
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "circuitName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "circuitName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
new file mode 100644
index 000000000000..05d999f4be52
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "circuitName": "expressRouteCircuit1",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Premium_MeteredData",
+ "tier": "Premium",
+ "family": "MeteredData"
+ },
+ "properties": {
+ "expressRoutePort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName"
+ },
+ "bandwidthInGbps":10
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "expressRouteCircuit1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "expressRoutePort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName"
+ },
+ "bandwidthInGbps":10,
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "20",
+ "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b",
+ "serviceProviderProvisioningState": "Provisioned"
+ },
+ "sku": {
+ "name": "Premium_MeteredData",
+ "tier": "Premium",
+ "family": "MeteredData"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "expressRouteCircuit1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "expressRoutePort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName"
+ },
+ "bandwidthInGbps":10,
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "20",
+ "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b",
+ "serviceProviderProvisioningState": "Provisioned"
+ },
+ "sku": {
+ "name": "Premium_MeteredData",
+ "tier": "Premium",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitDelete.json
new file mode 100644
index 000000000000..ad8efd23d8de
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitGet.json
new file mode 100644
index 000000000000..f30187316b50
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "circuitName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitListByResourceGroup.json
new file mode 100644
index 000000000000..e7a9c47cf92c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitListByResourceGroup.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "circuitName1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName1",
+ "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "262effd3-248d-4754-9068-0a89260dd918",
+ "peerings": [],
+ "authorizations": [
+ {
+ "name": "MyAuthorization1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1",
+ "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authkey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "113",
+ "serviceKey": "a1410692-ed3b-4ceb-b94a-b90b95d398d1",
+ "serviceProviderProvisioningState": "Provisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ },
+ {
+ "name": "circuitName2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "47853fd2-9261-4670-b7c3-2debcf9b88da",
+ "peerings": [],
+ "authorizations": [
+ {
+ "name": "MyAuthorization2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2/authorizations/MyAuthorization2",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authkey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "",
+ "serviceKey": "6569625a-9ba4-498b-9719-14d778eef609",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitListBySubscription.json
new file mode 100644
index 000000000000..76cd39cd131e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitListBySubscription.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "circuitName1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName1",
+ "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "262effd3-248d-4754-9068-0a89260dd918",
+ "peerings": [],
+ "authorizations": [
+ {
+ "name": "MyAuthorization1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1",
+ "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authkey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "113",
+ "serviceKey": "a1410692-ed3b-4ceb-b94a-b90b95d398d1",
+ "serviceProviderProvisioningState": "Provisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ },
+ {
+ "name": "circuitName2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "47853fd2-9261-4670-b7c3-2debcf9b88da",
+ "peerings": [],
+ "authorizations": [
+ {
+ "name": "MyAuthorization2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2/authorizations/MyAuthorization2",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authkey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "",
+ "serviceKey": "6569625a-9ba4-498b-9719-14d778eef609",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringCreate.json
new file mode 100644
index 000000000000..e6858ee80301
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringCreate.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "vlanId": 200,
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ },
+ "expressRouteConnection": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ },
+ "expressRouteConnection": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringDelete.json
new file mode 100644
index 000000000000..a366a3e216b7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringGet.json
new file mode 100644
index 000000000000..e7b8832a5601
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "peeringName": "MicrosoftPeering"
+ },
+ "responses": {
+ "200": {
+ "name": "MicrosoftPeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/MicrosoftPeering",
+ "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "MicrosoftPeering",
+ "azureASN": 12076,
+ "peerASN": 100,
+ "primaryPeerAddressPrefix": "123.0.0.0/30",
+ "secondaryPeerAddressPrefix": "123.0.0.4/30",
+ "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A",
+ "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A",
+ "state": "Enabled",
+ "vlanId": 300,
+ "gatewayManagerEtag": "103",
+ "lastModifiedBy": "Customer",
+ "microsoftPeeringConfig": {
+ "advertisedPublicPrefixes": [
+ "123.1.0.0/24"
+ ],
+ "advertisedCommunities": [],
+ "advertisedPublicPrefixesState": "ValidationNeeded",
+ "customerASN": 23,
+ "legacyMode": 0,
+ "routingRegistryName": "ARIN"
+ },
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled",
+ "microsoftPeeringConfig": {
+ "advertisedPublicPrefixes": [
+ "3FFE:FFFF:0:CD31::/120"
+ ],
+ "advertisedCommunities": [],
+ "advertisedPublicPrefixesState": "ValidationNeeded",
+ "customerASN": 23,
+ "legacyMode": 0,
+ "routingRegistryName": "ARIN"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringList.json
new file mode 100644
index 000000000000..001fc918681c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringList.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "MicrosoftPeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/MicrosoftPeering",
+ "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "MicrosoftPeering",
+ "azureASN": 12076,
+ "peerASN": 100,
+ "primaryPeerAddressPrefix": "123.0.0.0/30",
+ "secondaryPeerAddressPrefix": "123.0.0.4/30",
+ "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A",
+ "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A",
+ "state": "Enabled",
+ "vlanId": 300,
+ "gatewayManagerEtag": "103",
+ "lastModifiedBy": "Customer",
+ "microsoftPeeringConfig": {
+ "advertisedPublicPrefixes": [
+ "123.1.0.0/24"
+ ],
+ "advertisedCommunities": [],
+ "advertisedPublicPrefixesState": "ValidationNeeded",
+ "customerASN": 23,
+ "legacyMode": 0,
+ "routingRegistryName": "ARIN"
+ },
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled",
+ "microsoftPeeringConfig": {
+ "advertisedPublicPrefixes": [
+ "3FFE:FFFF:0:CD31::/120"
+ ],
+ "advertisedCommunities": [],
+ "advertisedPublicPrefixesState": "ValidationNeeded",
+ "customerASN": 23,
+ "legacyMode": 0,
+ "routingRegistryName": "ARIN"
+ }
+ },
+ "expressRouteConnection": ""
+ }
+ },
+ {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering",
+ "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 100,
+ "primaryPeerAddressPrefix": "10.0.0.0/30",
+ "secondaryPeerAddressPrefix": "10.0.0.4/30",
+ "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A",
+ "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "103",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ },
+ "expressRouteConnection": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringStats.json
new file mode 100644
index 000000000000..5e0649373ebc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitPeeringStats.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {
+ "primaryBytesIn": 537408,
+ "primaryBytesOut": 44032550,
+ "secondaryBytesIn": 0,
+ "secondaryBytesOut": 39002500
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitRouteTableList.json
new file mode 100644
index 000000000000..3c3717e526a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitRouteTableList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "network": "",
+ "nextHop": "",
+ "locPrf": "",
+ "weight": 0,
+ "path": ""
+ }
+ ]
+ },
+ "202": {
+ "value": [
+ {
+ "network": "",
+ "nextHop": "",
+ "locPrf": "",
+ "weight": 0,
+ "path": ""
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
new file mode 100644
index 000000000000..41c3a391fac3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "neighbor": "100.65.171.1",
+ "v": 4,
+ "as": 9583,
+ "upDown": "never",
+ "statePfxRcd": "Idle"
+ }
+ ]
+ },
+ "202": {
+ "value": [
+ {
+ "neighbor": "100.65.171.1",
+ "v": 4,
+ "as": 9583,
+ "upDown": "never",
+ "statePfxRcd": "Idle"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitStats.json
new file mode 100644
index 000000000000..da63bd2ddd1d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitStats.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "primaryBytesIn": 537408,
+ "primaryBytesOut": 44032550,
+ "secondaryBytesIn": 0,
+ "secondaryBytesOut": 39002500
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitUpdateTags.json
new file mode 100644
index 000000000000..319f9bf1e9f7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCircuitUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionCreate.json
new file mode 100644
index 000000000000..946bb8fcbfd7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "connectionName": "connectionName",
+ "putExpressRouteConnectionParameters": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "name": "connectionName",
+ "properties": {
+ "routingWeight": 2,
+ "authorizationKey": "authorizationKey",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 2
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 2
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionDelete.json
new file mode 100644
index 000000000000..a45e9c9eeb9c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "connectionName": "connectionName",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionGet.json
new file mode 100644
index 000000000000..f37e9016b072
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "connectionName": "connectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 1
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionList.json
new file mode 100644
index 000000000000..6ebf576ff166
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteConnectionList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "resourceGroupName",
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
new file mode 100644
index 000000000000..e7ea706639d1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "vlanId": 200,
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-Boydton1DC/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
new file mode 100644
index 000000000000..76641a583388
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ },
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
new file mode 100644
index 000000000000..9bdbdd13a259
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-Boydton1DC/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
new file mode 100644
index 000000000000..e0767ea01dde
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionGet.json
new file mode 100644
index 000000000000..de233da92531
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "CrossConnection-SiliconValley",
+ "crossConnectionName" : ""
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "etag": "W/\"c0e6477e-8150-4d4f-9bf6-bb10e6acb63a\"",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionList.json
new file mode 100644
index 000000000000..bc98721e90d5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
new file mode 100644
index 000000000000..79d6dbc5ce5f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSilicon-Valley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionUpdate.json
new file mode 100644
index 000000000000..d230f763e10c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "CrossConnection-SiliconValley",
+ "crossConnectionName" : "",
+ "parameters": {
+ "properties": {
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionUpdateTags.json
new file mode 100644
index 000000000000..14775336a938
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionUpdateTags.json
@@ -0,0 +1,41 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "CrossConnection-SiliconValley",
+ "crossConnectionName" : "",
+ "crossConnectionParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "er1",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Failed",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionsArpTable.json
new file mode 100644
index 000000000000..e276fed8bfa9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionsArpTable.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "age": 0,
+ "interface": "Microsoft" ,
+ "ipAddress": "192.116.14.254",
+ "macAddress": "885a.9269.9110"
+ }
+ ]
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionsRouteTable.json
new file mode 100644
index 000000000000..469f06d6247c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionsRouteTable.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "network": "10.6.0.0/16",
+ "nextHop": "10.6.1.12" ,
+ "locPrf": "",
+ "weight": 0,
+ "path": "65514"
+ },
+ {
+ "network": "10.7.0.0/16",
+ "nextHop": "10.7.1.13" ,
+ "locPrf": "",
+ "weight": 0,
+ "path": "65514"
+ }
+ ]
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
new file mode 100644
index 000000000000..fce1222722b2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "neighbor": "10.6.1.112",
+ "asn": 65514,
+ "upDown": "1d14h",
+ "stateOrPrefixesReceived": "Active"
+ },
+ {
+ "neighbor": "10.6.1.113",
+ "asn": 65514,
+ "upDown": "1d14h",
+ "stateOrPrefixesReceived": "1"
+ }
+ ]
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayCreate.json
new file mode 100644
index 000000000000..228e5218adb4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayCreate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-11-01",
+ "putExpressRouteGatewayParameters": {
+ "name": "gateway-2",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "location": "westus",
+ "properties": {
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupId/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 3
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "gateway-2",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 3
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "gateway-2",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 3
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayDelete.json
new file mode 100644
index 000000000000..58101724a2a9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayGet.json
new file mode 100644
index 000000000000..db834cda9499
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "expressRouteGatewayName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..bce2dd03bde7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayListByResourceGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "resourceGroupName",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "expressRouteGatewayName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 2
+ }
+ },
+ "expressRouteConnections": [
+ {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d",
+ "routingWeight": 1
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayListBySubscription.json
new file mode 100644
index 000000000000..017fc2e42964
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteGatewayListBySubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "expressRouteGatewayName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 2
+ }
+ },
+ "expressRouteConnections": [
+ {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d",
+ "routingWeight": 1
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteLinkGet.json
new file mode 100644
index 000000000000..1b8233bcbc53
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteLinkGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "linkName": "linkName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "linkName",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/linkName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteLinkList.json
new file mode 100644
index 000000000000..7ee91f992e88
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteLinkList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "link1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "name": "link2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortCreate.json
new file mode 100644
index 000000000000..4bd7df51beb4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortCreate.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "encapsulation": "QinQ"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortDelete.json
new file mode 100644
index 000000000000..74824e37b09d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortGet.json
new file mode 100644
index 000000000000..c8d8c434f33e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortList.json
new file mode 100644
index 000000000000..0727b866ff57
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortList.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortListByResourceGroup.json
new file mode 100644
index 000000000000..63bed0b03e3f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortListByResourceGroup.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortUpdateLink.json
new file mode 100644
index 000000000000..2d1a0f3ef03c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortUpdateLink.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "encapsulation": "QinQ",
+ "links": [
+ {
+ "name":"link1",
+ "properties": {
+ "adminState": "Enabled"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Enabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Enabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortUpdateTags.json
new file mode 100644
index 000000000000..b871f88a9160
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortUpdateTags.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortsLocationGet.json
new file mode 100644
index 000000000000..4b9710ccb31a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortsLocationGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01",
+ "locationName": "locationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "locationName",
+ "id": "/subscriptions/subid/providers/Microsofot.Network/expressRoutePortsLocations/locationName",
+ "type": "Microsofot.Network/expressRoutePortsLocations",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "address": "123 Main Street, City, State, Zip",
+ "contact": "email@address.com",
+ "availableBandwidths": [
+ {
+ "offerName": "100 Gbps",
+ "valueInGbps": 100
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortsLocationList.json
new file mode 100644
index 000000000000..12e3449bd2a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRoutePortsLocationList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "locationName",
+ "id": "/subscriptions/subid/providers/Microsofot.Network/expressRoutePortsLocations/locationName",
+ "type": "Microsofot.Network/expressRoutePortsLocations",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "address": "123 Main Street, City, State, Zip",
+ "contact": "email@address.com",
+ "availableBandwidths": [
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteProviderList.json
new file mode 100644
index 000000000000..5ccad907c0d8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ExpressRouteProviderList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "providerName",
+ "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/",
+ "type": "Microsoft.Network/expressRouteServiceProviders",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocations": [
+ "peeringLocation1",
+ "peeringLocation2"
+ ],
+ "bandwidthsOffered": [
+ {
+ "offerName": "50Mbps",
+ "valueInMbps": 50
+ },
+ {
+ "offerName": "100Mbps",
+ "valueInMbps": 100
+ },
+ {
+ "offerName": "200Mbps",
+ "valueInMbps": 200
+ },
+ {
+ "offerName": "500Mbps",
+ "valueInMbps": 500
+ },
+ {
+ "offerName": "1Gbps",
+ "valueInMbps": 1000
+ },
+ {
+ "offerName": "2Gbps",
+ "valueInMbps": 2000
+ },
+ {
+ "offerName": "5Gbps",
+ "valueInMbps": 5000
+ },
+ {
+ "offerName": "10Gbps",
+ "valueInMbps": 10000
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionDelete.json
new file mode 100644
index 000000000000..5db4e3ce35b8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionGet.json
new file mode 100644
index 000000000000..738c038c804d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionList.json
new file mode 100644
index 000000000000..9fd5a6af5d1f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ },
+ {
+ "name": "connection2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionPut.json
new file mode 100644
index 000000000000..397095bbdd65
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/HubVirtualNetworkConnectionPut.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "hubVirtualNetworkConnectionParameters": {
+ "properties": {
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ]
+ },
+ "201": {
+ "body": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleCreate.json
new file mode 100644
index 000000000000..b92ec69649bb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleCreate.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-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,
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true,
+ "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-11-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleDelete.json
new file mode 100644
index 000000000000..7b274bf7c5be
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleGet.json
new file mode 100644
index 000000000000..d71ad61b85b6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-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",
+ "enableTcpReset": true,
+ "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-11-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleList.json
new file mode 100644
index 000000000000..ef282106941a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InboundNatRuleList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true,
+ "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-11-01/examples/InterfaceEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointCreate.json
new file mode 100644
index 000000000000..ce80a3626b1b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointCreate.json
@@ -0,0 +1,67 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subId",
+ "resourceGroupName": "rg1",
+ "interfaceEndpointName": "testIe",
+ "parameters": {
+ "properties": {
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testIe",
+ "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe",
+ "location" : "eastus",
+ "properties" : {
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "provisioningState": "Succeded",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "testIe",
+ "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointDelete.json
new file mode 100644
index 000000000000..2669848124ab
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subId",
+ "resourceGroupName": "rg1",
+ "interfaceEndpointName": "testIe"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointGet.json
new file mode 100644
index 000000000000..ae5e0bba6be5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subId",
+ "resourceGroupName" : "rg1",
+ "interfaceEndpointName" : "testIe"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testIe",
+ "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe",
+ "type" : "Microsoft.Network/interfaceEndpoints",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointList.json
new file mode 100644
index 000000000000..fb908c3e3004
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointList.json
@@ -0,0 +1,59 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subId",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie1",
+ "name": "ie1",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie2",
+ "name": "ie2",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "alsoUnique.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/otherResourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie2.nic.zyxw9876"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointListAll.json
new file mode 100644
index 000000000000..daf7fba2f714
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/InterfaceEndpointListAll.json
@@ -0,0 +1,80 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subId"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie1",
+ "name": "ie1",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie2",
+ "name": "ie2",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "alsoUnique.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/otherResourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie2.nic.zyxw9876"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/interfaceEndpoints/ie1",
+ "name": "ie1",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "stillVeryUnique.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/ie1.nic.efgh5463"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerBackendAddressPoolGet.json
new file mode 100644
index 000000000000..b8a8f4048242
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerBackendAddressPoolGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "backendAddressPoolName": "backend",
+ "api-version": "2018-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/2018-11-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerBackendAddressPoolList.json
new file mode 100644
index 000000000000..def9c12f6542
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerBackendAddressPoolList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-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/2018-11-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreate.json
new file mode 100644
index 000000000000..81266e581652
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreate.json
@@ -0,0 +1,338 @@
+{
+ "parameters" : {
+ "api-version": "2018-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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "inboundNatPools": [],
+ "outboundRules": []
+ }
+ }
+ },
+ "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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreateStandardSku.json
new file mode 100644
index 000000000000..b853ec7d324c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreateStandardSku.json
@@ -0,0 +1,335 @@
+{
+ "parameters" : {
+ "api-version": "2018-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": [],
+ "outboundRules": []
+ }
+ }
+ },
+ "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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreateWithInboundNatPool.json
new file mode 100644
index 000000000000..f7eabbd2d795
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -0,0 +1,168 @@
+{
+ "parameters" : {
+ "api-version": "2018-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,
+ "enableTcpReset": true
+ },
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
+ }
+ ],
+ "outboundRules": []
+ }
+ }
+ },
+ "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": [],
+ "outboundRules": [],
+ "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",
+ "enableTcpReset": true,
+ "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": [],
+ "outboundRules": [],
+ "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",
+ "enableTcpReset": true,
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreateWithZones.json
new file mode 100644
index 000000000000..d86f4618fc96
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerCreateWithZones.json
@@ -0,0 +1,335 @@
+{
+ "parameters" : {
+ "api-version": "2018-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": [],
+ "outboundRules": []
+ }
+ }
+ },
+ "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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerDelete.json
new file mode 100644
index 000000000000..bc5ca4c3073b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerFrontendIPConfigurationGet.json
new file mode 100644
index 000000000000..0cf9f02b6aae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerFrontendIPConfigurationGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "frontendIPConfigurationName": "frontend",
+ "api-version": "2018-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/2018-11-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerFrontendIPConfigurationList.json
new file mode 100644
index 000000000000..5c56f5cd268c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerFrontendIPConfigurationList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-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/2018-11-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerGet.json
new file mode 100644
index 000000000000..f5a82dd5f4af
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerGet.json
@@ -0,0 +1,127 @@
+{
+ "parameters" : {
+ "api-version": "2018-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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerList.json
new file mode 100644
index 000000000000..1564c8702294
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerList.json
@@ -0,0 +1,142 @@
+{
+ "parameters" : {
+ "api-version": "2018-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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "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": [],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerListAll.json
new file mode 100644
index 000000000000..40d2dfd447db
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerListAll.json
@@ -0,0 +1,141 @@
+{
+ "parameters" : {
+ "api-version": "2018-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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "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": [],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerLoadBalancingRuleGet.json
new file mode 100644
index 000000000000..fff3c1d52b31
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerLoadBalancingRuleGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "loadBalancingRuleName": "rule1",
+ "api-version": "2018-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",
+ "enableTcpReset": true,
+ "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-11-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerLoadBalancingRuleList.json
new file mode 100644
index 000000000000..48c8f56013c7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerLoadBalancingRuleList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2018-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",
+ "enableTcpReset": true,
+ "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-11-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerNetworkInterfaceListSimple.json
new file mode 100644
index 000000000000..e675a423675f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerNetworkInterfaceListSimple.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-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/2018-11-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerNetworkInterfaceListVmss.json
new file mode 100644
index 000000000000..72eaabe99329
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerNetworkInterfaceListVmss.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-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/2018-11-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerOutboundRuleGet.json
new file mode 100644
index 000000000000..1b119dcee217
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerOutboundRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "outboundRuleName": "rule1",
+ "api-version": "2018-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend"
+ }
+ ],
+ "allocatedOutboundPorts": 64,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "enableTcpReset": true,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerOutboundRuleList.json
new file mode 100644
index 000000000000..9cdb5a00679d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerOutboundRuleList.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2018-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend"
+ }
+ ],
+ "allocatedOutboundPorts": 64,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "enableTcpReset": true,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerProbeGet.json
new file mode 100644
index 000000000000..1944b1326edf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerProbeGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "probeName": "probe1",
+ "api-version": "2018-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/2018-11-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerProbeList.json
new file mode 100644
index 000000000000..e3bd9646d6f7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerProbeList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-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/2018-11-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerUpdateTags.json
new file mode 100644
index 000000000000..4a4d2ad2d4e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LoadBalancerUpdateTags.json
@@ -0,0 +1,132 @@
+{
+ "parameters" : {
+ "api-version": "2018-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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayCreate.json
new file mode 100644
index 000000000000..3715b299c904
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayCreate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName" : "localgw",
+ "parameters": {
+ "properties": {
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ },
+ "location": "Central US"
+ }
+ },
+ "responses" : {
+ "201" : {
+ "body" : {
+ "name": "localgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Updating",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ },
+ "200" : {
+ "body" : {
+ "name": "localgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Updating",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayDelete.json
new file mode 100644
index 000000000000..f20d71bdb440
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName" : "localgw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayGet.json
new file mode 100644
index 000000000000..d6d71ebdb259
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName" : "localgw"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "localgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayList.json
new file mode 100644
index 000000000000..aaa92daea9d0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "localgw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ },
+ {
+ "name": "localgw2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.2.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..7068443ae6db
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/LocalNetworkGatewayUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceCreate.json
new file mode 100644
index 000000000000..47bce652e55f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceCreate.json
@@ -0,0 +1,98 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceDelete.json
new file mode 100644
index 000000000000..ad91c3cb6dde
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceEffectiveNSGList.json
new file mode 100644
index 000000000000..3e06f63d2c7a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceEffectiveNSGList.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceEffectiveRouteTableList.json
new file mode 100644
index 000000000000..24def485cd3c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceEffectiveRouteTableList.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceGet.json
new file mode 100644
index 000000000000..6df2f746050b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceIPConfigurationGet.json
new file mode 100644
index 000000000000..c404500aa0ff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceIPConfigurationGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "ipConfigurationName": "ipconfig1",
+ "api-version": "2018-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"
+ }
+ ],
+ "virtualNetworkTaps": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceIPConfigurationList.json
new file mode 100644
index 000000000000..83c25954582b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceIPConfigurationList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2018-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/2018-11-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceList.json
new file mode 100644
index 000000000000..0cac9cb05961
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceList.json
@@ -0,0 +1,90 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceListAll.json
new file mode 100644
index 000000000000..677c4f9f19e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceListAll.json
@@ -0,0 +1,89 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceLoadBalancerList.json
new file mode 100644
index 000000000000..f7dbeeeb97d2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceLoadBalancerList.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2018-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"
+ }
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationCreate.json
new file mode 100644
index 000000000000..1e95f3c57e42
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationCreate.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2018-11-01",
+ "tapConfigurationParameters": {
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationDelete.json
new file mode 100644
index 000000000000..3a20ba2617c2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-networkinterface",
+ "tapConfigurationName": "test-tapconfiguration"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationGet.json
new file mode 100644
index 000000000000..bfcc8072b73b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2018-11-01"
+ },
+ "responses": {
+ "200": {
+ "body":
+ {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationList.json
new file mode 100644
index 000000000000..802d2a4dd8e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceTapConfigurationList.json
@@ -0,0 +1,28 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "mynic"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceUpdateTags.json
new file mode 100644
index 000000000000..fcb991576a97
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkInterfaceUpdateTags.json
@@ -0,0 +1,55 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileCreateConfigOnly.json
new file mode 100644
index 000000000000..eaa73e001059
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileCreateConfigOnly.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1",
+ "location": "westus",
+ "parameters": {
+ "properties": {
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "properties": {
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfig1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfig1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileDelete.json
new file mode 100644
index 000000000000..3dd512318fe4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileGetConfigOnly.json
new file mode 100644
index 000000000000..f35c66afb587
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileGetConfigOnly.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ },
+ {
+ "name": "ipconfigprofile2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ },
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileGetWithContainerNic.json
new file mode 100644
index 000000000000..17dc57398c9a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileGetWithContainerNic.json
@@ -0,0 +1,203 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ },
+ {
+ "name": "ipconfigprofile2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ],
+ "containerNetworkInterfaces": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ },
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ],
+ "containerNetworkInterfaces": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": [
+ {
+ "name": "containerGroup1_eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup1_eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup2_eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup2_eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup3_eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup3_eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileList.json
new file mode 100644
index 000000000000..4206ffecd706
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileList.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "name": "networkProfile1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ },
+ {
+ "name": "ipconfigprofile2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile2",
+ "name": "networkProfile2",
+ "properties": {
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileListAll.json
new file mode 100644
index 000000000000..53262f52b760
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileListAll.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "name": "networkProfile1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile2",
+ "name": "networkProfile2",
+ "properties": {
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileUpdateTags.json
new file mode 100644
index 000000000000..960269903860
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkProfileUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "test-np",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-np",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-np",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupCreate.json
new file mode 100644
index 000000000000..43d7196e21f7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupCreate.json
@@ -0,0 +1,231 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupCreateWithRule.json
new file mode 100644
index 000000000000..654d8c1c41f1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -0,0 +1,281 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupDelete.json
new file mode 100644
index 000000000000..da0455924546
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupGet.json
new file mode 100644
index 000000000000..510eab10a2d5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupGet.json
@@ -0,0 +1,136 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupList.json
new file mode 100644
index 000000000000..64ced84707d7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupList.json
@@ -0,0 +1,231 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupListAll.json
new file mode 100644
index 000000000000..f50543fe2a3e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupListAll.json
@@ -0,0 +1,230 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupRuleCreate.json
new file mode 100644
index 000000000000..582bd4d09070
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupRuleCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupRuleDelete.json
new file mode 100644
index 000000000000..ea1af71b9fdc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupRuleGet.json
new file mode 100644
index 000000000000..df2a48516895
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupRuleGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupRuleList.json
new file mode 100644
index 000000000000..6609c4d8763a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupRuleList.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..7bbb67327cd1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkSecurityGroupUpdateTags.json
@@ -0,0 +1,130 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherAvailableProvidersListGet.json
new file mode 100644
index 000000000000..b7ce5c093cd2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherAvailableProvidersListGet.json
@@ -0,0 +1,66 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-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"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherAzureReachabilityReportGet.json
new file mode 100644
index 000000000000..611764a93ab8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherAzureReachabilityReportGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-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
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorCreate.json
new file mode 100644
index 000000000000..64ece9fc126d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorCreate.json
@@ -0,0 +1,70 @@
+{
+ "parameters" : {
+ "api-version": "2018-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" : {
+ "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"
+ }
+ },
+ "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"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorDelete.json
new file mode 100644
index 000000000000..d89fd763d095
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "204" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorGet.json
new file mode 100644
index 000000000000..098e7987b67e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version": "2018-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"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorList.json
new file mode 100644
index 000000000000..342165fac850
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorList.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version": "2018-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorQuery.json
new file mode 100644
index 000000000000..6dd466ef3ccf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorQuery.json
@@ -0,0 +1,77 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "sourceStatus": "Active",
+ "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" : {
+ "sourceStatus": "Active",
+ "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" : []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorStart.json
new file mode 100644
index 000000000000..ae3c5c9ce34d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorStop.json
new file mode 100644
index 000000000000..ae3c5c9ce34d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectionMonitorStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectivityCheck.json
new file mode 100644
index 000000000000..5608b5949176
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherConnectivityCheck.json
@@ -0,0 +1,79 @@
+{
+ "parameters" : {
+ "api-version": "2018-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" : "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
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherCreate.json
new file mode 100644
index 000000000000..804c70e36e1e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "location" : "eastus",
+ "properties" : {
+ }
+ }
+ },
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ },
+ "201" : {
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherDelete.json
new file mode 100644
index 000000000000..0ae7b5f4ef8d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "202" : {},
+ "204" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherFlowLogConfigure.json
new file mode 100644
index 000000000000..bc103c00fdec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherFlowLogConfigure.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherFlowLogStatusQuery.json
new file mode 100644
index 000000000000..5b47a13f2336
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherFlowLogStatusQuery.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherGet.json
new file mode 100644
index 000000000000..f47b63ab3d93
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherIpFlowVerify.json
new file mode 100644
index 000000000000..52978459d5ea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherIpFlowVerify.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherList.json
new file mode 100644
index 000000000000..9668c1a42a8e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherList.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ },
+ {
+ "name" : "nw2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "tags" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherListAll.json
new file mode 100644
index 000000000000..985b1138ed71
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherListAll.json
@@ -0,0 +1,36 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ },
+ {
+ "name" : "nw2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "westus",
+ "tags" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
new file mode 100644
index 000000000000..32d9dde4ce07
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
@@ -0,0 +1,198 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "profiles": [
+ {
+ "direction" : "Inbound",
+ "protocol" : "TCP",
+ "source" : "10.1.0.4",
+ "destination" : "12.11.12.14",
+ "destinationPort" : "12100"
+ }
+ ]
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "results": [
+ {
+ "profile": {
+ "direction": "Inbound",
+ "protocol": "TCP",
+ "source": "10.1.0.4",
+ "destination": "12.11.12.14",
+ "destinationPort": "12100"
+ },
+ "networkSecurityGroupResult": {
+ "securityRuleAccessResult": "Allow",
+ "evaluatedNetworkSecurityGroups": [
+ {
+ "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_Cleanuptool-Allow-100",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-101",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-102",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Deny-103",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ },
+ {
+ "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "results": [
+ {
+ "profile": {
+ "direction": "Inbound",
+ "protocol": "TCP",
+ "source": "10.1.0.4",
+ "destination": "12.11.12.14",
+ "destinationPort": "12100"
+ },
+ "networkSecurityGroupResult": {
+ "securityRuleAccessResult": "Allow",
+ "evaluatedNetworkSecurityGroups": [
+ {
+ "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_Cleanuptool-Allow-100",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-101",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-102",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Deny-103",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ },
+ {
+ "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherNextHopGet.json
new file mode 100644
index 000000000000..db876196e23f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherNextHopGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters" : {
+ "api-version": "2018-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"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureCreate.json
new file mode 100644
index 000000000000..8ca79d715b5d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters" : {
+ "api-version": "2018-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",
+ "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"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureDelete.json
new file mode 100644
index 000000000000..dcdc671121dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "204" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureGet.json
new file mode 100644
index 000000000000..694e6ab2fab3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version": "2018-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" : {
+ "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"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
new file mode 100644
index 000000000000..af71c99abd06
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version": "2018-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-09-07T12:35:24Z",
+ "packetCaptureStatus" : "Stopped",
+ "stopReason" : "TimeExceeded",
+ "packetCaptureError" : []
+ }
+ },
+ "202" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "captureStartTime" : "2016-09-07T12:35:24Z",
+ "packetCaptureStatus" : "Stopped",
+ "stopReason" : "TimeExceeded",
+ "packetCaptureError" : []
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureStop.json
new file mode 100644
index 000000000000..716429c50afe
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCaptureStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCapturesList.json
new file mode 100644
index 000000000000..6c2ce596eb22
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherPacketCapturesList.json
@@ -0,0 +1,58 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherSecurityGroupViewGet.json
new file mode 100644
index 000000000000..f0fe5dc521fa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherSecurityGroupViewGet.json
@@ -0,0 +1,141 @@
+{
+ "parameters" : {
+ "api-version": "2018-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" : {
+ "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//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//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" : {
+ "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//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//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"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherTopologyGet.json
new file mode 100644
index 000000000000..463321c2f3d4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherTopologyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherTroubleshootGet.json
new file mode 100644
index 000000000000..4430931fee70
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherTroubleshootGet.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherTroubleshootResultQuery.json
new file mode 100644
index 000000000000..07b440cf693e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherTroubleshootResultQuery.json
@@ -0,0 +1,67 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherUpdateTags.json
new file mode 100644
index 000000000000..8e03b7a28958
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/NetworkWatcherUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/OperationList.json
new file mode 100644
index 000000000000..ccd79914eb5c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/OperationList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2018-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"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayDelete.json
new file mode 100644
index 000000000000..a3a07761391e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..279dfeb8419b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayGenerateVpnProfile.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "gatewayName" : "p2sVpnGateway1",
+ "parameters": {
+ "authenticationMethod": "EAPTLS"
+ }
+ },
+ "responses" : {
+ "202" : {
+ },
+ "200" : {
+ "body" : ""
+ }
+ }
+}
+
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayGet.json
new file mode 100644
index 000000000000..f055ad06ac7f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayList.json
new file mode 100644
index 000000000000..ed8ba705a48f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayList.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ },
+ {
+ "name": "p2sVpnGateway2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.4.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..ed8ba705a48f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayListByResourceGroup.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ },
+ {
+ "name": "p2sVpnGateway2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.4.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayPut.json
new file mode 100644
index 000000000000..2293e843f07c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayPut.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "p2SVpnGatewayParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 0,
+ "allocatedIpAddresses": [],
+ "totalIngressBytesTransferred": 0,
+ "totalEgressBytesTransferred": 0
+ }
+ }
+ },
+ "201": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 0,
+ "allocatedIpAddresses": [],
+ "totalIngressBytesTransferred": 0,
+ "totalEgressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..93e3d951a43b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnGatewayUpdateTags.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "p2SVpnGatewayParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ },
+ "201": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationDelete.json
new file mode 100644
index 000000000000..46ec8c0cfb8d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "p2SVpnServerConfigurationName": "p2sVpnServerConfiguration1",
+ "virtualWanName": "virtualWan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationGet.json
new file mode 100644
index 000000000000..0d2382ca30c3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationGet.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "virtualWanName": "virtualWan1",
+ "p2SVpnServerConfigurationName": "p2sVpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "name": "p2sVpnServerConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations//p2sVpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRootCertificates/p2sVpnServerConfigVpnClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRootCertificates"
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRevokedCertificates/p2sVpnServerConfigVpnClientRevokedCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRevokedCertificates"
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCer1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusServerRootCertificates/p2sVpnServerConfigRadiusServerRootCer1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusServerRootCertificates"
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusClientRootCertificates/p2sVpnServerConfigRadiusClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusClientRootCertificates"
+ }]
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationList.json
new file mode 100644
index 000000000000..0bc5c252557f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationList.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "virtualWanName": "virtualWan1",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "p2sVpnServerConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRootCertificates/p2sVpnServerConfigVpnClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRootCertificates"
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRevokedCertificates/VpnClientRevokedCert2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRevokedCertificates"
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusServerRootCertificates/p2sVpnServerConfigRadiusServerRootCert",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusServerRootCertificates"
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusClientRootCertificates/p2sVpnServerConfigRadiusClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusClientRootCertificates"
+ }]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationPut.json
new file mode 100644
index 000000000000..a237eb8dbc9f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/P2SVpnServerConfigurationPut.json
@@ -0,0 +1,182 @@
+{
+ "parameters": {
+ "virtualWanName": "virtualWan1",
+ "p2SVpnServerConfigurationName": "p2sVpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "p2SVpnServerConfigurationParameters": {
+ "properties": {
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "properties": {
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "properties": {
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCert1",
+ "properties": {
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "properties": {
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ }]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "p2sVpnServerConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations//p2sVpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRootCertificates/p2sVpnServerConfigVpnClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRootCertificates"
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRevokedCertificates/p2sVpnServerConfigVpnClientRevokedCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRevokedCertificates"
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusServerRootCertificates/p2sVpnServerConfigRadiusServerRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusServerRootCertificates"
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusClientRootCertificates/p2sVpnServerConfigRadiusClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusClientRootCertificates"
+ }]
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations"
+ },
+ "201": {
+ "name": "p2sVpnServerConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations//p2sVpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRootCertificates/p2sVpnServerConfigVpnClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRootCertificates"
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRevokedCertificates/p2sVpnServerConfigVpnClientRevokedCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRevokedCertificates"
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusServerRootCertificates/p2sVpnServerConfigRadiusServerRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusServerRootCertificates"
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusClientRootCertificates/p2sVpnServerConfigRadiusClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusClientRootCertificates"
+ }]
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressCreateCustomizedValues.json
new file mode 100644
index 000000000000..11aa2bb605da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -0,0 +1,63 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressCreateDefaults.json
new file mode 100644
index 000000000000..4c8d0418b23c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressCreateDefaults.json
@@ -0,0 +1,51 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressCreateDns.json
new file mode 100644
index 000000000000..6163a764168d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressCreateDns.json
@@ -0,0 +1,59 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressDelete.json
new file mode 100644
index 000000000000..957f73fd34c6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressGet.json
new file mode 100644
index 000000000000..612878171ca4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressList.json
new file mode 100644
index 000000000000..1a5266f52645
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressList.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressListAll.json
new file mode 100644
index 000000000000..b74adcfe8623
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressListAll.json
@@ -0,0 +1,49 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressUpdateTags.json
new file mode 100644
index 000000000000..7fad78cc541b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpAddressUpdateTags.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateCustomizedValues.json
new file mode 100644
index 000000000000..99e099ed8ad8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateCustomizedValues.json
@@ -0,0 +1,54 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "zones": [ "1" ],
+ "parameters": {
+ "properties": {
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "zones": [ "1" ],
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix",
+ "location" : "westus",
+ "zones": [ "1" ],
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateDefaults.json
new file mode 100644
index 000000000000..bd219349b2d4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixCreateDefaults.json
@@ -0,0 +1,43 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixDelete.json
new file mode 100644
index 000000000000..5fe84b0b66d3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixGet.json
new file mode 100644
index 000000000000..9b71b84dd85e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30,
+ "ipPrefix":"192.168.254.2/30",
+ "ipTags" : [
+ ],
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixList.json
new file mode 100644
index 000000000000..df92a1527371
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixList.json
@@ -0,0 +1,45 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30,
+ "ipPrefix":"40.85.154.2/30",
+ "ipTags" : [
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "SQL"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name" : "ipprefix03",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":31,
+ "ipPrefix" : "40.85.153.2/31"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixListAll.json
new file mode 100644
index 000000000000..a7b0205951de
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30,
+ "ipPrefix":"41.85.154.247/30",
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name" : "ipprefix01",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipPrefix" : "40.85.154.247/30",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ ]
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixUpdateTags.json
new file mode 100644
index 000000000000..690936bfe1d8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/PublicIpPrefixUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterCreate.json
new file mode 100644
index 000000000000..9dc604e2dcaa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterCreate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-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/2018-11-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterDelete.json
new file mode 100644
index 000000000000..edecbb4030a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterGet.json
new file mode 100644
index 000000000000..f4633e3ec3a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-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/2018-11-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterList.json
new file mode 100644
index 000000000000..a08d611f2f80
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-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/2018-11-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterListByResourceGroup.json
new file mode 100644
index 000000000000..92b1afbfa241
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterListByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2018-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/2018-11-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleCreate.json
new file mode 100644
index 000000000000..d45df3d1fa90
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-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/2018-11-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleDelete.json
new file mode 100644
index 000000000000..c124faee3804
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleGet.json
new file mode 100644
index 000000000000..3efc330720b1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "ruleName": "filterName",
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-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/2018-11-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleListByRouteFilter.json
new file mode 100644
index 000000000000..299fc6c630da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleListByRouteFilter.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-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/2018-11-01/examples/RouteFilterRuleUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleUpdate.json
new file mode 100644
index 000000000000..cd4581c451b0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterRuleUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-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/2018-11-01/examples/RouteFilterUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterUpdate.json
new file mode 100644
index 000000000000..42a3777a1273
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteFilterUpdate.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-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/2018-11-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableCreate.json
new file mode 100644
index 000000000000..9ce896e7997f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {
+ "location": "westus"
+ }
+ },
+ "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-11-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableCreateWithRoute.json
new file mode 100644
index 000000000000..20dc52338a64
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableCreateWithRoute.json
@@ -0,0 +1,70 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {
+ "properties": {
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "properties": {
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ },
+ "location": "westus"
+ }
+ },
+ "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-11-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableDelete.json
new file mode 100644
index 000000000000..92471fed75bf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableGet.json
new file mode 100644
index 000000000000..acd59c32e44f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableList.json
new file mode 100644
index 000000000000..2c5be5948a41
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableList.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableListAll.json
new file mode 100644
index 000000000000..7ca11cd37805
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableRouteCreate.json
new file mode 100644
index 000000000000..2049f4b08b5d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableRouteCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableRouteDelete.json
new file mode 100644
index 000000000000..70d0c846499c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableRouteDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "routeName": "route1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableRouteGet.json
new file mode 100644
index 000000000000..a201b4cbf166
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableRouteGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableRouteList.json
new file mode 100644
index 000000000000..343591cda336
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableRouteList.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableUpdateTags.json
new file mode 100644
index 000000000000..f9257a9f8f85
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/RouteTableUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceCommunityList.json
new file mode 100644
index 000000000000..9dacf64fe2d2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceCommunityList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2018-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/2018-11-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyCreate.json
new file mode 100644
index 000000000000..38115acec18f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy",
+ "type": "Microsoft.Network/ServiceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testpolicy",
+ "type": "Microsoft.Network/ServiceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
new file mode 100644
index 000000000000..9c1ff57a9fc7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
@@ -0,0 +1,84 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "parameters": {
+ "properties": {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy",
+ "type": "Microsoft.Network/ServiceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy",
+ "type": "Microsoft.Network/ServiceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionCreate.json
new file mode 100644
index 000000000000..629d0e2a03b7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionCreate.json
@@ -0,0 +1,52 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition",
+ "ServiceEndpointPolicyDefinitions": {
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testDefinition",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionDelete.json
new file mode 100644
index 000000000000..62921cfbe4bd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionGet.json
new file mode 100644
index 000000000000..3d77d3a42f2e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testDefinition",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionList.json
new file mode 100644
index 000000000000..ee03536fa94b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDefinitionList.json
@@ -0,0 +1,29 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testDef",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDef",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDelete.json
new file mode 100644
index 000000000000..c7ac7b2b0f15
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "serviceEndpointPolicy1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyGet.json
new file mode 100644
index 000000000000..489ccc189709
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testServiceEndpointPolicy"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testServiceEndpointPolicy",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location" : "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyList.json
new file mode 100644
index 000000000000..45cbbb1ef4d2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyList.json
@@ -0,0 +1,65 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "testServiceEndpointPolicy",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy",
+ "location" : "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ },
+ {
+ "name" : "testServiceEndpointPolicy1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy1",
+ "location" : "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition1",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyListAll.json
new file mode 100644
index 000000000000..69151f23aba4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyListAll.json
@@ -0,0 +1,66 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition1",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ },
+ {
+ "name": "testPolicy1",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy2",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition2",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyUpdateTags.json
new file mode 100644
index 000000000000..b962591bb0e4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/ServiceEndpointPolicyUpdateTags.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testServiceEndpointPolicy",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testServiceEndpointPolicy",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location" : "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetCreate.json
new file mode 100644
index 000000000000..608b5a368e50
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-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/2018-11-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetCreateServiceEndpoint.json
new file mode 100644
index 000000000000..8c4ac5f0d387
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetCreateServiceEndpoint.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetCreateWithDelegation.json
new file mode 100644
index 000000000000..a274a77fe86d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetCreateWithDelegation.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ },
+ "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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetDelete.json
new file mode 100644
index 000000000000..46fb12819fb4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetGet.json
new file mode 100644
index 000000000000..c76868147dd4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-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/2018-11-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetGetWithDelegation.json
new file mode 100644
index 000000000000..648665f01246
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetGetWithDelegation.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetList.json
new file mode 100644
index 000000000000..00f1f7d2fa12
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/SubnetList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-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/2018-11-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/UsageList.json
new file mode 100644
index 000000000000..031def062d9e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/UsageList.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2018-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/outboundRulesPerLoadBalancer",
+ "limit": 5.0,
+ "name": {
+ "localizedValue": "Outbound Rules per Load Balancer",
+ "value": "outboundRulesPerLoadBalancer"
+ },
+ "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-11-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/UsageListSpacedLocation.json
new file mode 100644
index 000000000000..8a3dc04e1aba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/UsageListSpacedLocation.json
@@ -0,0 +1,335 @@
+{
+ "parameters": {
+ "location": "West US",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": 12.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/VirtualNetworks",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Virtual Networks",
+ "value": "VirtualNetworks"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 1.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/StaticPublicIPAddresses",
+ "limit": 20.0,
+ "name": {
+ "localizedValue": "Static Public IP Addresses",
+ "value": "StaticPublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkSecurityGroups",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Network Security Groups",
+ "value": "NetworkSecurityGroups"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 12.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIPAddresses",
+ "limit": 60.0,
+ "name": {
+ "localizedValue": "Public IP Addresses",
+ "value": "PublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIpPrefixes",
+ "limit": 2147483647.0,
+ "name": {
+ "localizedValue": "Public Ip Prefixes",
+ "value": "PublicIpPrefixes"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkInterfaces",
+ "limit": 24000.0,
+ "name": {
+ "localizedValue": "Network Interfaces",
+ "value": "NetworkInterfaces"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/LoadBalancers",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Load Balancers",
+ "value": "LoadBalancers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationGateways",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Application Gateways",
+ "value": "ApplicationGateways"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 5.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteTables",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Route Tables",
+ "value": "RouteTables"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFilters",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Route Filters",
+ "value": "RouteFilters"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkWatchers",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Network Watchers",
+ "value": "NetworkWatchers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PacketCaptures",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Packet Captures",
+ "value": "PacketCaptures"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationSecurityGroups",
+ "limit": 500.0,
+ "name": {
+ "localizedValue": "Application Security Groups.",
+ "value": "ApplicationSecurityGroups"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/DdosProtectionPlans",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "DDoS Protection Plans.",
+ "value": "DdosProtectionPlans"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ServiceEndpointPolicies",
+ "limit": 200.0,
+ "name": {
+ "localizedValue": "Service Endpoint Policies",
+ "value": "ServiceEndpointPolicies"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkIntentPolicies",
+ "limit": 200.0,
+ "name": {
+ "localizedValue": "Network Intent Policies",
+ "value": "NetworkIntentPolicies"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/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/West US/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/West US/usages/IPConfigurationsPerVirtualNetwork",
+ "limit": 16384.0,
+ "name": {
+ "localizedValue": "IP Configurations per Virtual Network",
+ "value": "IPConfigurationsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PeeringsPerVirtualNetwork",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Peerings per Virtual Network",
+ "value": "PeeringsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkSecurityGroup",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Security rules per Network Security Group",
+ "value": "SecurityRulesPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkIntentPolicy",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Security rules per Network Intent Policy",
+ "value": "SecurityRulesPerNetworkIntentPolicy"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerNetworkIntentPolicy",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Routes per Network Intent Policy",
+ "value": "RoutesPerNetworkIntentPolicy"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/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/West US/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/West US/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/West US/usages/OutboundRulesPerLoadBalancer",
+ "limit": 5.0,
+ "name": {
+ "localizedValue": "Outbound Rules per Load Balancer",
+ "value": "OutboundRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerRouteTable",
+ "limit": 400.0,
+ "name": {
+ "localizedValue": "Routes per Route Table",
+ "value": "RoutesPerRouteTable"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/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/West US/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/West US/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/West US/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-11-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubDelete.json
new file mode 100644
index 000000000000..dfb4262c2515
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubGet.json
new file mode 100644
index 000000000000..deebb0c7e1bc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub1",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.10.1.0/24"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubList.json
new file mode 100644
index 000000000000..bcc1aecec8de
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub1",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/SpokeVnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "10.10.1.0/24"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection2",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsofot.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsofot.Network/virtualNetworks/SpokeVnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubListByResourceGroup.json
new file mode 100644
index 000000000000..33c07f734a6f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubListByResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub1",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/SpokeVnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "10.10.1.0/24"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsofot.Network/virtualNetworks/SpokeVnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubPut.json
new file mode 100644
index 000000000000..38152bce61d2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubPut.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "virtualHubParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubUpdateTags.json
new file mode 100644
index 000000000000..4c178e4ca999
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualHubUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "virtualHubParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCheckIPAddressAvailability.json
new file mode 100644
index 000000000000..acf5877eeaaf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCheckIPAddressAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreate.json
new file mode 100644
index 000000000000..b6857bf81aa2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
new file mode 100644
index 000000000000..4c1156614be1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
@@ -0,0 +1,120 @@
+{
+ "parameters" : {
+ "api-version": "2018-06-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)"
+ ]
+ }
+ ],
+ "serviceEndpointPolicies": [
+ {
+ "provisioningState": "Succeeded",
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ]
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateServiceEndpoints.json
new file mode 100644
index 000000000000..ac257242ca93
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -0,0 +1,110 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateSubnet.json
new file mode 100644
index 000000000000..47e71ed2a136
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateSubnet.json
@@ -0,0 +1,81 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
new file mode 100644
index 000000000000..2d4a11370831
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
@@ -0,0 +1,90 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-2",
+ "properties": {
+ "addressPrefixes": [
+ "10.0.0.0/28",
+ "10.0.1.0/28"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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-2",
+ "name": "test-2",
+ "properties": {
+ "addressPrefixes": [
+ "10.0.0.0/28",
+ "10.1.0.0/28"
+ ],
+ "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-2",
+ "name": "test-2",
+ "properties": {
+ "addressPrefixes": [
+ "10.0.0.0/28",
+ "10.0.1.0/28"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
new file mode 100644
index 000000000000..da40e1e41054
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
@@ -0,0 +1,113 @@
+{
+ "parameters" : {
+ "api-version": "2018-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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "properties": {
+ "serviceName": "Microsoft.Provider/resourceType"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ ],
+ "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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkDelete.json
new file mode 100644
index 000000000000..a681380510f8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionCreate.json
new file mode 100644
index 000000000000..733541746972
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionCreate.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "connS2S",
+ "parameters": {
+ "properties": {
+ "virtualNetworkGateway1": {
+ "properties": {
+ "ipConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ }
+ },
+ "name": "gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1"
+ }
+ ],
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 2
+ },
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ },
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "location": "centralus",
+ "tags": {}
+ },
+ "localNetworkGateway2": {
+ "properties": {
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ },
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "location": "centralus",
+ "tags": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "sharedKey": "Abc123",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": []
+ },
+ "location": "centralus"
+ }
+ },
+ "responses" : {
+ "201" : {
+ "body" : {
+ "name": "connS2S",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Updating",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "sharedKey": "Abc123",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ },
+ "200" : {
+ "body" : {
+ "name": "connS2S",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Updating",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "sharedKey": "Abc123",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionDelete.json
new file mode 100644
index 000000000000..6c33efc308d3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "conn1"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionGet.json
new file mode 100644
index 000000000000..6bd72d19127d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "connS2S"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "connS2S",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "sharedKey": "Abc123",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "connectionStatus": "Connecting",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
new file mode 100644
index 000000000000..95867bfe7d4a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "connS2S"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": "AzureAbc123"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
new file mode 100644
index 000000000000..72a6e3779756
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "conn1",
+ "parameters": {
+ "keyLength": 128
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "keyLength": 128
+ }
+ },
+ "202" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
new file mode 100644
index 000000000000..9cb7bd4636d9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "connS2S",
+ "parameters": {
+ "value": "AzureAbc123"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": "AzureAbc123"
+ }
+ },
+ "201" : {
+ "body" : {
+ "value": "AzureAbc123"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
new file mode 100644
index 000000000000..e4105d8f9c6d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
@@ -0,0 +1,49 @@
+{
+ "parameters" : {
+ "api-version": "2018-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",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw",
+ "properties": {}
+ },
+ "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-11-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionsList.json
new file mode 100644
index 000000000000..e95c16327dcf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayConnectionsList.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "conn1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/conn1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv1",
+ "routingWeight": 0,
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ },
+ {
+ "name": "conn2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/conn2",
+ "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/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "properties": {},
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw2"
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayDelete.json
new file mode 100644
index 000000000000..1baf000343f3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
new file mode 100644
index 000000000000..3fd996c0eedd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "parameters": {
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..260f3bab6af6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "parameters": {}
+ },
+ "responses" : {
+ "202" : {
+ },
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGet.json
new file mode 100644
index 000000000000..b5a7273aac2a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGet.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
new file mode 100644
index 000000000000..632f5a13b06e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "peer": "test"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : {
+ "body" : {
+
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
new file mode 100644
index 000000000000..2afebea14ab1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : {
+ "body" : {
+
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..6bf1b280007d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "200" : {
+ "saLifeTimeSeconds": 86473,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup2",
+ "pfsGroup": "PFS2"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
new file mode 100644
index 000000000000..cd882005dfd4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayLearnedRoutes.json
new file mode 100644
index 000000000000..c074f65be3a0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayLearnedRoutes.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : {},
+ "200" : {
+ "body" : {
+
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayList.json
new file mode 100644
index 000000000000..e17bb40af755
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayList.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "vpngw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "loc1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/ipConfigurations/default",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/vpngw1-ip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 2
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.0.14",
+ "peerWeight": 0
+ }
+ }
+ },
+ {
+ "name": "vpngw2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "loc2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/ipConfigurations/default",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/vpngw2-ip"
+ },
+ "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,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.1.0.46",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayReset.json
new file mode 100644
index 000000000000..b757878b584e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayReset.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
new file mode 100644
index 000000000000..262e08b75ea5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : { }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..ec9779254709
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "vpnclientIpsecParams": {
+ "saLifeTimeSeconds": 86473,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup2",
+ "pfsGroup": "PFS2"
+ }
+ },
+ "responses" : {
+ "202" : {
+ },
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
new file mode 100644
index 000000000000..a0b8d3f0bf76
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayUpdate.json
new file mode 100644
index 000000000000..69c9c9aef977
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayUpdate.json
@@ -0,0 +1,146 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "parameters": {
+ "properties": {
+ "ipConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ }
+ },
+ "name": "gwipconfig1"
+ }
+ ],
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1"
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ },
+ "location": "centralus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "SSTP",
+ "IkeV2"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "SSTP",
+ "IkeV2"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..a022f4635e80
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayUpdateTags.json
@@ -0,0 +1,62 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
new file mode 100644
index 000000000000..15bab30debee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "vpngw",
+ "parameters": {
+ "vendor": "Cisco",
+ "deviceFamily": "ISR",
+ "firmwareVersion": "IOS 15.1 (Preview)"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : "! Microsoft Corporation\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Sample VPN tunnel configuration template for IOS-based devices\r\n!\r\n! This configuration template applies to Cisco VPN devices running IOS 15.1 or beyond (ISR or ASR)\r\n!\r\n\r\n\r\n\t\t\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! ACL rules\r\n!\r\n! Some VPN devices require explicit ACL rules to allow cross-premises traffic:\r\n!\r\n! 1. Allow traffic between on premises address ranges and VNet address ranges\r\n! 2. Allow IKE traffic (UDP:500) between on premises VPN devices and Azure VPN gateway\r\n! 3. Allow IPsec traffic (Proto:ESP) between on premises VPN devices and Azure VPN gateway\r\n!\r\n\t\t\r\naccess-list 101 permit ip 10.1.0.0 0.0.255.255 10.0.0.0 0.0.255.255\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Internet Key Exchange (IKE) configuration\r\n!\r\n! This section specifies the authentication, encryption, hashing, and Diffie-Hellman group parameters for IKE\r\n! main mode or phase 1\r\n!\r\n\r\ncrypto ikev2 proposal SwaggerS2S-proposal\r\n encryption DES3\r\n integrity SHA384\r\n group DHGroup24\r\n lifetime 3600\r\n exit\r\n\r\ncrypto ikev2 policy SwaggerS2S-policy\r\n proposal SwaggerS2S-proposal\r\n exit\r\n\r\ncrypto ikev2 keyring SwaggerBranch-keyring\r\n\t\t\r\n\t\tpeer 52.173.199.254\r\n\t\taddress 52.173.199.254\r\n\t\tpre-shared-key lALEHuppeopJmA94exRNiRr2QzuZ6lOsvzu5IlJUEA6LthbTc8g5MTT86MCsGNMzGkTAaLuLnEJoD1Cn4cIlr94qKZm9drsgllzWvsPNezS71stAkaW1Bb7h6GBnDlDP\r\n exit\r\n\r\ncrypto ikev2 profile SwaggerS2S-profile\r\n match address local 10.3.0.0\r\n\tmatch identity remote address 52.173.199.254 255.255.255.255\r\n\t\t\r\n authentication remote pre-share\r\n authentication local pre-share\r\n keyring SwaggerBranch-keyring\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! IPsec configuration\r\n!\r\n! This section specifies encryption, authentication, tunnel mode properties for the Phase 2 negotiation\r\n!\r\ncrypto ipsec transform-set SwaggerS2S-TransformSet DES3 DES3\r\n mode tunnel\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Crypto map configuration\r\n!\r\n! This section defines a crypto profile that binds the cross-premises network traffic to the IPsec and IKE\r\n! policy profiles for this connection. Then defines the VTI (virtual tunnel interface) with the crypto\r\n! profile. A random interface number (tunnel 1) was used with a random link local address (169.254.0.1/28)\r\n! for the tunnel interface. If either selection is already used in the VPN device, please select another\r\n! interface number or address. The only requirement is that they must not overlap with another interface\r\n! on the same VPN device.\r\n!\r\ncrypto ipsec profile SwaggerS2S-IPsecProfile\r\n set transform-set SwaggerS2S-TransformSet\r\n set ikev2-profile SwaggerS2S-profile\r\n set pfs None\r\n set security-association lifetime 3600\r\n exit\r\n\r\n\r\nint tunnel 52.173.199.254\r\n ip address 169.254.0.1 255.255.255.252\r\n ip tcp adjust-mss 1350\r\n tunnel source 10.3.0.0\r\n tunnel mode ipsec ipv4\r\n tunnel destination 52.173.199.254\r\n tunnel protection ipsec profile SwaggerS2S-IPsecProfile\r\n exit\r\n\r\n\tip route 10.0.0.0 255.255.0.0 tunnel 52.173.199.254 "
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewaysListConnections.json
new file mode 100644
index 000000000000..5214844fdc5d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGatewaysListConnections.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "virtualNetworkGatewayName": "test-vpn-gateway-1",
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGet.json
new file mode 100644
index 000000000000..bda7696f9d49
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
new file mode 100644
index 000000000000..e4ed638048d3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2018-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",
+ "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.214.0/24",
+ "ipConfigurationProfiles": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1"
+ }
+ ],
+ "serviceAssociationLinks": [
+ {
+ "name": "serviceAssociationLink1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/serviceAssociationLinks/serviceAssociationLink1",
+ "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "linkedResourceType": "Microsoft.Provider/resourceType"
+ }
+ }
+ ],
+ "serviceEndpoints": [],
+ "delegations": [
+ {
+ "name": "aciDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/aciDelegation",
+ "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": [
+ "Microsoft.Network/virtualNetworks/subnets/action"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGetWithSubnetDelegation.json
new file mode 100644
index 000000000000..914b13f39790
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkGetWithSubnetDelegation.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2018-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"
+ }],
+ "delegations": [{
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }],
+ "purpose": ""
+ }
+ }],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkList.json
new file mode 100644
index 000000000000..69937973e1da
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkList.json
@@ -0,0 +1,64 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkListAll.json
new file mode 100644
index 000000000000..f5f04bb028e5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkListAll.json
@@ -0,0 +1,63 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkListUsage.json
new file mode 100644
index 000000000000..ad2bcfe8e435
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkListUsage.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkPeeringCreate.json
new file mode 100644
index 000000000000..4c8fd2031238
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkPeeringCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkPeeringDelete.json
new file mode 100644
index 000000000000..574ca8bb0b6f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkPeeringGet.json
new file mode 100644
index 000000000000..c7ca8cb65a96
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkPeeringGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkPeeringList.json
new file mode 100644
index 000000000000..de9a598550e2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkPeeringList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-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/2018-11-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapCreate.json
new file mode 100644
index 000000000000..16b34b351797
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapCreate.json
@@ -0,0 +1,62 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap",
+ "parameters": {
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/ipconfig1"
+ }
+ },
+ "location": "centraluseuap"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapDelete.json
new file mode 100644
index 000000000000..180e4af5db84
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapGet.json
new file mode 100644
index 000000000000..c6af148588b2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "tapName" : "testvtap"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapList.json
new file mode 100644
index 000000000000..8662a6be1724
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapList.json
@@ -0,0 +1,55 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testvtap2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapListAll.json
new file mode 100644
index 000000000000..24ec00001cef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapListAll.json
@@ -0,0 +1,54 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testvtap2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapUpdateTags.json
new file mode 100644
index 000000000000..8237cf36ddf4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkTapUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters" : {
+ "api-version": "2018-11-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap",
+ "tapParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vtap",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/test-vtap",
+ "location" : "eastus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/virtualNetworkTaps"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkUpdateTags.json
new file mode 100644
index 000000000000..20186059563a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualNetworkUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-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/2018-11-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANDelete.json
new file mode 100644
index 000000000000..84b564846318
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "VirtualWANName": "virtualWan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANGet.json
new file mode 100644
index 000000000000..62f4a4d8aec5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANList.json
new file mode 100644
index 000000000000..21ae759e8fc3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "wan2",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANListByResourceGroup.json
new file mode 100644
index 000000000000..0fea4632f63a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANListByResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "wan2",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub3",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub4"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite3",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite4"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANPut.json
new file mode 100644
index 000000000000..c6d40056b5fc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANPut.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "WANParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "disableVpnEncryption": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANUpdateTags.json
new file mode 100644
index 000000000000..bfd26bcbe15c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWANUpdateTags.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "WANParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWanSupportedSecurityProviders.json
new file mode 100644
index 000000000000..b7eaf5186bef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VirtualWanSupportedSecurityProviders.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "virtualWANName": "wan1"
+ },
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "body": {
+ "supportedProviders": [
+ {
+ "name": "AzureFirewall",
+ "url": "",
+ "type": "Native"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssNetworkInterfaceGet.json
new file mode 100644
index 000000000000..de8b2d4a7ec5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-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/2018-11-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssNetworkInterfaceIpConfigGet.json
new file mode 100644
index 000000000000..445dae399b7d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-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/2018-11-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssNetworkInterfaceIpConfigList.json
new file mode 100644
index 000000000000..1758de1ee444
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-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/2018-11-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssNetworkInterfaceList.json
new file mode 100644
index 000000000000..aa3be3aba845
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-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/2018-11-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssPublicIpGet.json
new file mode 100644
index 000000000000..3601aa554519
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssPublicIpListAll.json
new file mode 100644
index 000000000000..2371537ba644
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssVmNetworkInterfaceList.json
new file mode 100644
index 000000000000..e44ecaa437fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-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/2018-11-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VmssVmPublicIpList.json
new file mode 100644
index 000000000000..5df78ff0a7d1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionDelete.json
new file mode 100644
index 000000000000..012d8bd4f7b5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionGet.json
new file mode 100644
index 000000000000..442eab3b4942
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "vpnConnectionProtocolType": "IKEv2",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionList.json
new file mode 100644
index 000000000000..aae22511bf59
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "vpnConnectionProtocolType": "IKEv1",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionPut.json
new file mode 100644
index 000000000000..14c0333ba3a8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnConnectionPut.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "VpnConnectionParameters": {
+ "properties": {
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "vpnConnectionProtocolType" : "IKEv1",
+ "sharedKey": "key"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "vpnConnectionProtocolType": "IKEv1",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ },
+ "201": {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "vpnConnectionProtocolType": "IKEv1",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayDelete.json
new file mode 100644
index 000000000000..417ca4695031
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayGet.json
new file mode 100644
index 000000000000..d5ac83af65f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayGet.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayList.json
new file mode 100644
index 000000000000..4c67539458ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayList.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ },
+ {
+ "name": "gateway2",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..d1bf20bd2848
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayListByResourceGroup.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ },
+ {
+ "name": "gateway2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayPut.json
new file mode 100644
index 000000000000..dd1ea4f6e36b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayPut.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "vpnGatewayParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "properties": {
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "sharedKey": "key"
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ },
+ "201": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..8ea8de2ea7ef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnGatewayUpdateTags.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "vpnGatewayParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidthInMbps": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "policies": {
+ "allowBranchToBranchTraffic": true,
+ "allowVnetToVnetTraffic": false
+ }
+ }
+ },
+ "201": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidthInMbps": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "policies": {
+ "allowBranchToBranchTraffic": true,
+ "allowVnetToVnetTraffic": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteDelete.json
new file mode 100644
index 000000000000..8389171d3243
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteGet.json
new file mode 100644
index 000000000000..c949ed259983
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ }
+ }
+ }
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteList.json
new file mode 100644
index 000000000000..30e0a5ef4632
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "vpnSite2",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.1.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteListByResourceGroup.json
new file mode 100644
index 000000000000..9582de53b365
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteListByResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite2",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.1.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSitePut.json
new file mode 100644
index 000000000000..6f78d003278c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSitePut.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "VpnSiteParameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/VirtualWans/virtualWan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/VirtualWans/virtualWan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.1.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/VirtualWans/virtualWan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.1.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteUpdateTags.json
new file mode 100644
index 000000000000..00a1381257fa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSiteUpdateTags.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "subscriptionId": "subid",
+ "VpnSiteParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSitesConfigurationDownload.json
new file mode 100644
index 000000000000..79181f0901ee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/examples/VpnSitesConfigurationDownload.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-11-01",
+ "virtualWANName": "wan1",
+ "request": {
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/abc"
+ ],
+ "outputBlobSasUrl": "https://blobcortextesturl.blob.core.windows.net/folderforconfig/vpnFile?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Request successful. Follow the location header for sas-url to output blob."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRouteCircuit.json
new file mode 100644
index 000000000000..88da92494c44
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRouteCircuit.json
@@ -0,0 +1,2019 @@
+{
+ "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-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Delete ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationDelete.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Create ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationCreate.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitAuthorization resources.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Delete ExpressRouteCircuit Peerings": { "$ref": "./examples/ExpressRouteCircuitPeeringDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_Get",
+ "description": "Gets the specified peering for the 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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRouteCircuit Peering": { "$ref": "./examples/ExpressRouteCircuitPeeringGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Create ExpressRouteCircuit Peerings": { "$ref": "./examples/ExpressRouteCircuitPeeringCreate.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitPeering resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples":{
+ "List ExpressRouteCircuit Peerings": { "$ref": "./examples/ExpressRouteCircuitPeeringList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCircuitConnections"
+ ],
+ "operationId": "ExpressRouteCircuitConnections_Delete",
+ "description": "Deletes the specified Express Route Circuit Connection 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."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitConnectionDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitConnections"
+ ],
+ "operationId": "ExpressRouteCircuitConnections_Get",
+ "description": "Gets the specified Express Route Circuit Connection 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."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Express Route Circuit Connection resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCircuitConnectionGet": {
+ "$ref": "./examples/ExpressRouteCircuitConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCircuitConnections"
+ ],
+ "operationId": "ExpressRouteCircuitConnections_CreateOrUpdate",
+ "description": "Creates or updates a Express Route Circuit Connection 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": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit connection."
+ },
+ {
+ "name": "expressRouteCircuitConnectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ },
+ "description": "Parameters supplied to the create or update express route circuit connection operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCircuitConnectionCreate": {
+ "$ref": "./examples/ExpressRouteCircuitConnectionCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitConnections"
+ ],
+ "operationId": "ExpressRouteCircuitConnections_List",
+ "description": "Gets all global reach connections associated with a private peering 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."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitConnections resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRouteCircuit Connection": { "$ref": "./examples/ExpressRouteCircuitConnectionList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Delete ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitDelete.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Create ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitCreate.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "List ARP Table": { "$ref": "./examples/ExpressRouteCircuitARPTableList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "List Route Tables": { "$ref": "./examples/ExpressRouteCircuitRouteTableList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "List Route Table Summary": { "$ref": "./examples/ExpressRouteCircuitRouteTableSummaryList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRoute Circuit Traffic Stats": { "$ref": "./examples/ExpressRouteCircuitStats.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRoute Circuit Peering Traffic Stats": { "$ref": "./examples/ExpressRouteCircuitPeeringStats.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRouteCircuits in a resource group": { "$ref": "./examples/ExpressRouteCircuitListByResourceGroup.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_ListAll",
+ "description": "Gets all the express route circuits in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuit resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRouteCircuits in a subscription": { "$ref": "./examples/ExpressRouteCircuitListBySubscription.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders": {
+ "get": {
+ "tags": [
+ "ExpressRouteServiceProviders"
+ ],
+ "operationId": "ExpressRouteServiceProviders_List",
+ "description": "Gets all the available express route service providers.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteServiceProvider resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteServiceProviderListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRoute providers": { "$ref": "./examples/ExpressRouteProviderList.json" }
+ }
+ }
+ }
+ },
+ "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. Specified 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": {
+ "$ref": "#/definitions/ExpressRoutePeeringType",
+ "description": "The peering type."
+ },
+ "state": {
+ "$ref": "#/definitions/ExpressRoutePeeringState",
+ "description": "The peering state."
+ },
+ "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."
+ },
+ "expressRouteConnection" : {
+ "$ref": "./expressRouteGateway.json#/definitions/ExpressRouteConnectionId",
+ "description": "The ExpressRoute connection."
+ },
+ "connections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ },
+ "description": "The list of circuit connections associated with Azure Private Peering for this circuit."
+ }
+ }
+ },
+ "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."
+ },
+ "ExpressRoutePeeringType": {
+ "type": "string",
+ "description": "The PeeringType. Possible values are: 'AzurePublicPeering', 'AzurePrivatePeering', and 'MicrosoftPeering'.",
+ "enum": [
+ "AzurePublicPeering",
+ "AzurePrivatePeering",
+ "MicrosoftPeering"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRoutePeeringType",
+ "modelAsString": true
+ }
+ },
+ "ExpressRoutePeeringState": {
+ "type": "string",
+ "description": "The state of peering. Possible values are: 'Disabled' and 'Enabled'",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRoutePeeringState",
+ "modelAsString": true
+ }
+ },
+ "ExpressRouteCircuitConnectionPropertiesFormat": {
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection."
+ },
+ "peerExpressRouteCircuitPeering": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to Express Route Circuit Private Peering Resource of the peered circuit."
+ },
+ "addressPrefix": {
+ "type": "string",
+ "description": "/29 IP address space to carve out Customer addresses for tunnels."
+ },
+ "authorizationKey": {
+ "type": "string",
+ "description": "The authorization key."
+ },
+ "circuitConnectionStatus": {
+ "type": "string",
+ "description": "Express Route Circuit Connection State. Possible values are: 'Connected' and 'Disconnected'.",
+ "enum": [
+ "Connected",
+ "Connecting",
+ "Disconnected"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "circuitConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Provisioning state of the circuit connection resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ }
+ }
+ },
+ "ExpressRouteCircuitConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat"
+ },
+ "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": "Express Route Circuit Connection in an ExpressRouteCircuitPeering resource."
+ },
+ "ExpressRouteCircuitConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ },
+ "description": "The global reach connection associated with Private Peering in an ExpressRoute Circuit."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListConnections API service call retrieves all global reach connections that belongs to a Private Peering for 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', 'Premium' or 'Basic'.",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Basic"
+ ],
+ "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."
+ },
+ "expressRoutePort": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource."
+ },
+ "bandwidthInGbps": {
+ "type": "number",
+ "description": "The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource."
+ },
+ "stag": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The identifier of the circuit traffic. Outer tag for QinQ encapsulation."
+ },
+ "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."
+ },
+ "allowGlobalReach": {
+ "type": "boolean",
+ "description": "Flag to enable Global Reach on the circuit."
+ }
+ },
+ "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": "Entry age in minutes"
+ },
+ "interface": {
+ "type": "string",
+ "description": "Interface address"
+ },
+ "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": "IP address of a network entity"
+ },
+ "nextHop": {
+ "type": "string",
+ "description": "NextHop address"
+ },
+ "locPrf": {
+ "type": "string",
+ "description": "Local preference value as set with the set local-preference route-map configuration command"
+ },
+ "weight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Route Weight."
+ },
+ "path": {
+ "type": "string",
+ "description": "Autonomous system paths to the destination network."
+ }
+ },
+ "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": "IP address of the 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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRouteCrossConnection.json
new file mode 100644
index 000000000000..cefae4f99271
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRouteCrossConnection.json
@@ -0,0 +1,922 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ExpressRouteCrossConnection REST APIs",
+ "description": "The Microsoft Azure ExpressRouteCrossConnection Resource Provider REST APIs describes the operations for the connectivity provider to provision ExpressRoute circuit, create and modify BGP peering entities and troubleshoot connectivity on customer's ExpressRoute circuit. ",
+ "version": "2018-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/expressRouteCrossConnections": {
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_List",
+ "description": "Retrieves all the ExpressRouteCrossConnections in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCrossConnectionList": {
+ "$ref": "./examples/ExpressRouteCrossConnectionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections": {
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_ListByResourceGroup",
+ "description": "Retrieves all the ExpressRouteCrossConnections in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCrossConnectionListByResourceGroup": {
+ "$ref": "./examples/ExpressRouteCrossConnectionListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}": {
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_Get",
+ "description": "Gets details about the specified ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group (peering location of the circuit)."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection (service key of the circuit)."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnection": {
+ "$ref": "./examples/ExpressRouteCrossConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_CreateOrUpdate",
+ "description": "Update the specified ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ },
+ "description": "Parameters supplied to the update express route crossConnection operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateExpressRouteCrossConnection": {
+ "$ref": "./examples/ExpressRouteCrossConnectionUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_UpdateTags",
+ "description": "Updates an express route cross connection tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cross connection."
+ },
+ {
+ "name": "crossConnectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update express route cross connection tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateExpressRouteCrossConnectionTags": {
+ "$ref": "./examples/ExpressRouteCrossConnectionUpdateTags.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings": {
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnectionPeerings"
+ ],
+ "operationId": "ExpressRouteCrossConnectionPeerings_List",
+ "description": "Gets all peerings in a specified ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnectionPeering resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCrossConnectionBgpPeeringList": {
+ "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCrossConnectionPeerings"
+ ],
+ "operationId": "ExpressRouteCrossConnectionPeerings_Delete",
+ "description": "Deletes the specified peering from the ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "DeleteExpressRouteCrossConnectionBgpPeering": {
+ "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnectionPeerings"
+ ],
+ "operationId": "ExpressRouteCrossConnectionPeerings_Get",
+ "description": "Gets the specified peering for the ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnectionBgpPeering": {
+ "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCrossConnectionPeerings"
+ ],
+ "operationId": "ExpressRouteCrossConnectionPeerings_CreateOrUpdate",
+ "description": "Creates or updates a peering in the specified ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "peeringParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ },
+ "description": "Parameters supplied to the create or update ExpressRouteCrossConnection peering operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCrossConnectionBgpPeeringCreate": {
+ "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCrossConnectionArpTable"
+ ],
+ "operationId": "ExpressRouteCrossConnections_ListArpTable",
+ "description": "Gets the currently advertised ARP table associated with the express route cross connection in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsArpTable resource.",
+ "schema": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsArpTableListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnectionsArpTable": {
+ "$ref": "./examples/ExpressRouteCrossConnectionsArpTable.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCrossConnectionRouteTableSummary"
+ ],
+ "operationId": "ExpressRouteCrossConnections_ListRoutesTableSummary",
+ "description": "Gets the route table summary associated with the express route cross connection in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTableSummary resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionsRoutesTableSummaryListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnectionsRouteTableSummary": {
+ "$ref": "./examples/ExpressRouteCrossConnectionsRouteTableSummary.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCrossConnectionRouteTable"
+ ],
+ "operationId": "ExpressRouteCrossConnections_ListRoutesTable",
+ "description": "Gets the currently advertised routes table associated with the express route cross connection in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTable resource.",
+ "schema": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsRoutesTableListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnectionsRouteTable": {
+ "$ref": "./examples/ExpressRouteCrossConnectionsRouteTable.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "ExpressRouteCrossConnectionRoutesTableSummary": {
+ "properties": {
+ "neighbor": {
+ "type": "string",
+ "description": "IP address of Neighbor router"
+ },
+ "asn": {
+ "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."
+ },
+ "stateOrPrefixesReceived": {
+ "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."
+ },
+ "ExpressRouteCrossConnectionsRoutesTableSummaryListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionRoutesTableSummary"
+ },
+ "description": "A list of the routes table."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListRoutesTable associated with the Express Route Cross Connections."
+ },
+ "ExpressRouteCircuitReference": {
+ "properties": {
+ "id": {
+ "type":"string",
+ "description": "Corresponding Express Route Circuit Id."
+ }
+ }
+ },
+ "ExpressRouteCrossConnectionProperties": {
+ "properties": {
+ "primaryAzurePort": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the primary port."
+ },
+ "secondaryAzurePort": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the secondary port."
+ },
+ "sTag": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The identifier of the circuit traffic."
+ },
+ "peeringLocation": {
+ "type": "string",
+ "description": "The peering location of the ExpressRoute circuit."
+ },
+ "bandwidthInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The circuit bandwidth In Mbps."
+ },
+ "expressRouteCircuit": {
+ "$ref": "#/definitions/ExpressRouteCircuitReference",
+ "description": "The ExpressRouteCircuit"
+ },
+ "serviceProviderProvisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the circuit in the connectivity provider system. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned'.",
+ "enum": [
+ "NotProvisioned",
+ "Provisioning",
+ "Provisioned",
+ "Deprovisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceProviderProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "serviceProviderNotes": {
+ "type": "string",
+ "description": "Additional read only notes set by the connectivity provider."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "peerings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ },
+ "description": "The list of peerings."
+ }
+ },
+ "description": "Properties of ExpressRouteCrossConnection."
+ },
+ "ExpressRouteCrossConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCrossConnectionProperties"
+ },
+ "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": "ExpressRouteCrossConnection resource"
+ },
+ "ExpressRouteCrossConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ },
+ "description": "A list of ExpressRouteCrossConnection resources."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListExpressRouteCrossConnection API service call."
+ },
+ "ExpressRouteCrossConnectionPeeringProperties": {
+ "properties": {
+ "peeringType": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringType",
+ "description": "The peering type."
+ },
+ "state": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringState",
+ "description": "The peering state."
+ },
+ "azureASN": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The primary port."
+ },
+ "secondaryAzurePort": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The secondary port."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "The shared key."
+ },
+ "vlanId": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The VLAN ID."
+ },
+ "microsoftPeeringConfig": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeeringConfig",
+ "description": "The Microsoft peering configuration."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "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."
+ },
+ "ipv6PeeringConfig": {
+ "$ref": "./expressRouteCircuit.json#/definitions/Ipv6ExpressRouteCircuitPeeringConfig",
+ "description": "The IPv6 peering configuration."
+ }
+ }
+ },
+ "ExpressRouteCrossConnectionPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties"
+ },
+ "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 ExpressRoute Cross Connection resource."
+ },
+ "ExpressRouteCrossConnectionPeeringList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ },
+ "description": "The peerings in an express route cross connection."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "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 ExpressRouteCrossConnection."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRouteGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRouteGateway.json
new file mode 100644
index 000000000000..413d9c03faf5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRouteGateway.json
@@ -0,0 +1,648 @@
+{
+ "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-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/expressRouteGateways": {
+ "get": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_ListBySubscription",
+ "x-ms-examples": {
+ "ExpressRouteGatewayListBySubscription": {
+ "$ref": "./examples/ExpressRouteGatewayListBySubscription.json"
+ }
+ },
+ "description": "Lists ExpressRoute gateways under a given subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGatewayList"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways": {
+ "get": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_ListByResourceGroup",
+ "x-ms-examples": {
+ "ExpressRouteGatewayListByResourceGroup": {
+ "$ref": "./examples/ExpressRouteGatewayListByResourceGroup.json"
+ }
+ },
+ "description": "Lists ExpressRoute gateways in a given resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation successful.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGatewayList"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}": {
+ "put": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_CreateOrUpdate",
+ "x-ms-examples": {
+ "ExpressRouteGatewayCreate": {
+ "$ref": "./examples/ExpressRouteGatewayCreate.json"
+ }
+ },
+ "description": "Creates or updates a ExpressRoute gateway in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "name": "putExpressRouteGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ },
+ "description": "Parameters required in an ExpressRoute gateway PUT operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRoute gateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRoute gateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_Get",
+ "x-ms-examples": {
+ "ExpressRouteGatewayGet": {
+ "$ref": "./examples/ExpressRouteGatewayGet.json"
+ }
+ },
+ "description": "Fetches the details of a ExpressRoute gateway in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation succeeded. The operation returns the ExpressRoute gateway.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_Delete",
+ "x-ms-examples": {
+ "ExpressRouteGatewayDelete": {
+ "$ref": "./examples/ExpressRouteGatewayDelete.json"
+ }
+ },
+ "description": "Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be deleted when there are no connection subresources.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}": {
+ "put": {
+ "tags": [
+ "ExpressRouteConnections"
+ ],
+ "operationId": "ExpressRouteConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "ExpressRouteConnectionCreate": {
+ "$ref": "./examples/ExpressRouteConnectionCreate.json"
+ }
+ },
+ "description": "Creates a connection between an ExpressRoute gateway and an ExpressRoute circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection subresource."
+ },
+ {
+ "name": "putExpressRouteConnectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ },
+ "description": "Parameters required in an ExpressRouteConnection PUT operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the ExpressRouteConnection.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the ExpressRouteConnection.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteConnections"
+ ],
+ "operationId": "ExpressRouteConnections_Get",
+ "x-ms-examples": {
+ "ExpressRouteConnectionGet": {
+ "$ref": "./examples/ExpressRouteConnectionGet.json"
+ }
+ },
+ "description": "Gets the specified ExpressRouteConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the ExpressRouteConnection.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ExpressRouteConnections"
+ ],
+ "operationId": "ExpressRouteConnections_Delete",
+ "x-ms-examples": {
+ "ExpressRouteConnectionDelete": {
+ "$ref": "./examples/ExpressRouteConnectionDelete.json"
+ }
+ },
+ "description": "Deletes a connection to a ExpressRoute circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection subresource."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted, and the operation will continue asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections": {
+ "get": {
+ "tags": [
+ "ExpressRouteConnections"
+ ],
+ "operationId": "ExpressRouteConnections_List",
+ "x-ms-examples": {
+ "ExpressRouteConnectionList": {
+ "$ref": "./examples/ExpressRouteConnectionList.json"
+ }
+ },
+ "description": "Lists ExpressRouteConnections.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnectionList"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualHubId": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription."
+ }
+ },
+ "description": "Virtual Hub identifier."
+ },
+ "ExpressRouteCircuitPeeringId": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the ExpressRoute circuit peering."
+ }
+ },
+ "description": "ExpressRoute circuit peering identifier."
+ },
+ "ExpressRouteConnectionId": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ID of the ExpressRouteConnection."
+ }
+ },
+ "description": "The ID of the ExpressRouteConnection."
+ },
+ "ExpressRouteGatewayProperties": {
+ "required": [
+ "virtualHub"
+ ],
+ "properties": {
+ "autoScaleConfiguration": {
+ "properties": {
+ "bounds": {
+ "properties": {
+ "min": {
+ "type": "integer",
+ "description": "Minimum number of scale units deployed for ExpressRoute gateway."
+ },
+ "max": {
+ "type": "integer",
+ "description": "Maximum number of scale units deployed for ExpressRoute gateway."
+ }
+ },
+ "description": "Minimum and maximum number of scale units to deploy."
+ }
+ },
+ "description": "Configuration for auto scaling."
+ },
+ "expressRouteConnections": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of ExpressRoute connections to the ExpressRoute gateway.",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource.",
+ "enum":[
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "virtualHub": {
+ "$ref": "#/definitions/VirtualHubId",
+ "description": "The Virtual Hub where the ExpressRoute gateway is or will be deployed."
+ }
+ },
+ "description": "ExpressRoute gateway resource properties."
+ },
+ "ExpressRouteGateway": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteGatewayProperties"
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "ExpressRoute gateway resource."
+ },
+ "ExpressRouteGatewayList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ },
+ "description": "List of ExpressRoute gateways."
+ }
+ },
+ "description": "List of ExpressRoute gateways."
+ },
+ "ExpressRouteConnectionProperties": {
+ "required": [
+ "expressRouteCircuitPeering"
+ ],
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource.",
+ "enum":[
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "expressRouteCircuitPeering": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringId",
+ "description": "The ExpressRoute circuit peering."
+ },
+ "authorizationKey": {
+ "type": "string",
+ "description": "Authorization key to establish the connection."
+ },
+ "routingWeight": {
+ "type": "integer",
+ "description": "The routing weight associated to the connection."
+ }
+ },
+ "description": "Properties of the ExpressRouteConnection subresource."
+ },
+ "ExpressRouteConnection": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteConnectionProperties"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "ExpressRouteConnection resource."
+ },
+ "ExpressRouteConnectionList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ },
+ "description": "The list of ExpressRoute connections"
+ }
+ },
+ "description": "ExpressRouteConnection list"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRoutePort.json
new file mode 100644
index 000000000000..6e11cd73ecb6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/expressRoutePort.json
@@ -0,0 +1,747 @@
+{
+ "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-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/ExpressRoutePortsLocations": {
+ "get": {
+ "tags": [
+ "ExpressRoutePortsLocations"
+ ],
+ "operationId": "ExpressRoutePortsLocations_List",
+ "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retrieving a specific peering location.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the list of all ExpressRoutePort peering locations.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePortsLocationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortsLocationList": { "$ref": "./examples/ExpressRoutePortsLocationList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}": {
+ "get": {
+ "tags": [
+ "ExpressRoutePortsLocations"
+ ],
+ "operationId": "ExpressRoutePortsLocations_Get",
+ "description": "Retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at said peering location.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the requested ExpressRoutePort peering location."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the requested ExpressRoutePort peering location.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePortsLocation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortsLocationGet": { "$ref": "./examples/ExpressRoutePortsLocationGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}": {
+ "delete": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_Delete",
+ "description": "Deletes the specified ExpressRoutePort resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ExpressRoutePortDelete": { "$ref": "./examples/ExpressRoutePortDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_Get",
+ "description": "Retrieves the requested ExpressRoutePort resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of ExpressRoutePort."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the requested ExpressRoutePort resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortGet": { "$ref": "./examples/ExpressRoutePortGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_CreateOrUpdate",
+ "description": "Creates or updates the specified ExpressRoutePort resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ },
+ "description": "Parameters supplied to the create ExpressRoutePort operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRoutePort resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ExpressRoutePortCreate": { "$ref": "./examples/ExpressRoutePortCreate.json" },
+ "ExpressRoutePortUpdateLink": { "$ref": "./examples/ExpressRoutePortUpdateLink.json" }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_UpdateTags",
+ "description": "Update ExpressRoutePort tags",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update ExpressRoutePort resource tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ExpressRoutePortUpdateTags": { "$ref": "./examples/ExpressRoutePortUpdateTags.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts": {
+ "get": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_ListByResourceGroup",
+ "description": "List all the ExpressRoutePort resources in the specified resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePortListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortListByResourceGroup": { "$ref": "./examples/ExpressRoutePortListByResourceGroup.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts": {
+ "get": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_List",
+ "description": "List all the ExpressRoutePort resources in the specified subscription",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePortListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortList": { "$ref": "./examples/ExpressRoutePortList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}": {
+ "get": {
+ "tags": [
+ "ExpressRouteLinks"
+ ],
+ "operationId": "ExpressRouteLinks_Get",
+ "description": "Retrieves the specified ExpressRouteLink resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ },
+ {
+ "name": "linkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteLink resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the requested ExpressRouteLink resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteLink"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteLinkGet": { "$ref": "./examples/ExpressRouteLinkGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links": {
+ "get": {
+ "tags": [
+ "ExpressRouteLinks"
+ ],
+ "operationId": "ExpressRouteLinks_List",
+ "description": "Retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteLink resources. If there are no ExpressRouteLink resources then an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteLinkListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ExpressRouteLinkGet": { "$ref": "./examples/ExpressRouteLinkList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ExpressRoutePortsLocationBandwidths": {
+ "title": "ExpressRoutePorts Location Bandwidths",
+ "description" : "Real-time inventory of available ExpressRoute port bandwidths.",
+ "properties": {
+ "offerName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Bandwidth descriptive name"
+ },
+ "valueInGbps": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Bandwidth value in Gbps"
+ }
+ }
+ },
+ "ExpressRoutePortsLocationPropertiesFormat": {
+ "title": "ExpressRoutePorts Location Properties",
+ "description" : "Properties specific to ExpressRoutePorts peering location resources.",
+ "properties": {
+ "address": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Address of peering location."
+ },
+ "contact": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Contact details of peering locations."
+ },
+ "availableBandwidths": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRoutePortsLocationBandwidths"
+ },
+ "description": "The inventory of available ExpressRoutePort bandwidths."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the ExpressRoutePortLocation resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ }
+ }
+ },
+ "ExpressRoutePortsLocation": {
+ "title": "ExpressRoutePorts Peering Location",
+ "description": "Definition of the ExpressRoutePorts peering location resource.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRoutePortsLocationPropertiesFormat",
+ "description": "ExpressRoutePort peering location properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ExpressRoutePortsLocationListResult": {
+ "title": "ExpressRoutePorts Location List Result",
+ "description": "Response for ListExpressRoutePortsLocations API service call.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRoutePortsLocation"
+ },
+ "description": "The list of all ExpressRoutePort peering locations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ }
+ },
+ "ExpressRouteLinkPropertiesFormat": {
+ "title": "ExpressRouteLink Resource Properties",
+ "description": "Properties specific to ExpressRouteLink resources.",
+ "properties": {
+ "routerName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of Azure router associated with physical port."
+ },
+ "interfaceName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of Azure router interface."
+ },
+ "patchPanelId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Mapping between physical port to patch panel port."
+ },
+ "rackId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Mapping of physical patch panel to rack."
+ },
+ "connectorType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Physical fiber port type.",
+ "enum": [
+ "LC",
+ "SC"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteLinkConnectorType",
+ "modelAsString": true
+ }
+ },
+ "adminState": {
+ "type": "string",
+ "description": "Administrative state of the physical port",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteLinkAdminState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the ExpressRouteLink resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ }
+ }
+ },
+ "ExpressRouteLink": {
+ "title" : "ExpressRouteLink",
+ "description": "ExpressRouteLink child resource definition.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteLinkPropertiesFormat",
+ "description": "ExpressRouteLink properties"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of child port resource that is unique among child port resources of the parent."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ]
+ },
+ "ExpressRouteLinkListResult": {
+ "title": "ExpressRouteLink List Result",
+ "description": "Response for ListExpressRouteLinks API service call.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteLink"
+ },
+ "description": "The list of ExpressRouteLink sub-resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ }
+ },
+ "ExpressRoutePortPropertiesFormat": {
+ "title": "ExpressRoutePort Properties",
+ "description" : "Properties specific to ExpressRoutePort resources.",
+ "properties": {
+ "peeringLocation": {
+ "type": "string",
+ "description": "The name of the peering location that the ExpressRoutePort is mapped to physically."
+ },
+ "bandwidthInGbps": {
+ "type": "integer",
+ "description": "Bandwidth of procured ports in Gbps"
+ },
+ "provisionedBandwidthInGbps": {
+ "readOnly": true,
+ "type": "number",
+ "description": "Aggregate Gbps of associated circuit bandwidths."
+ },
+ "mtu": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Maximum transmission unit of the physical port pair(s)"
+ },
+ "encapsulation": {
+ "type": "string",
+ "description": "Encapsulation method on physical ports.",
+ "enum": [
+ "Dot1Q",
+ "QinQ"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRoutePortsEncapsulation",
+ "modelAsString": true
+ }
+ },
+ "etherType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Ether type of the physical port."
+ },
+ "allocationDate": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Date of the physical port allocation to be used in Letter of Authorization."
+ },
+ "links": {
+ "title" : "ExpressRouteLink Sub-Resources",
+ "description" : "The set of physical links of the ExpressRoutePort resource",
+ "readOnly": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteLink"
+ }
+ },
+ "circuits": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the ExpressRoutePort resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the ExpressRoutePort resource."
+ }
+ }
+ },
+ "ExpressRoutePort": {
+ "title": "ExpressRoute Port",
+ "description": "ExpressRoutePort resource definition.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRoutePortPropertiesFormat",
+ "description": "ExpressRoutePort properties"
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ExpressRoutePortListResult": {
+ "title": "ExpressRoute Port List Result",
+ "description": "Response for ListExpressRoutePorts API service call.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ },
+ "description": "A list of ExpressRoutePort resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/interfaceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/interfaceEndpoint.json
new file mode 100644
index 000000000000..22eeef4457d0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/interfaceEndpoint.json
@@ -0,0 +1,338 @@
+{
+ "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-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/interfaceEndpoints/{interfaceEndpointName}": {
+ "delete": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_Delete",
+ "description": "Deletes the specified interface endpoint.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "interfaceEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the interface endpoint."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 interface endpoint": { "$ref": "./examples/InterfaceEndpointDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_Get",
+ "description": "Gets the specified interface endpoint by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "interfaceEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the interface endpoint."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting InterfaceEndpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get interface endpoint": { "$ref": "./examples/InterfaceEndpointGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_CreateOrUpdate",
+ "description": "Creates or updates an interface endpoint in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "interfaceEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the interface endpoint."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ },
+ "description": "Parameters supplied to the create or update interface endpoint operation"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting InterfaceEndpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting InterfaceEndpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create interface endpoint": { "$ref": "./examples/InterfaceEndpointCreate.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints": {
+ "get": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_List",
+ "description": "Gets all interface endpoints in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of InterfaceEndpoint resources.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpointListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List interface endpoints in resource group": { "$ref": "./examples/InterfaceEndpointList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/interfaceEndpoints": {
+ "get": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_ListBySubscription",
+ "description": "Gets all interface endpoints in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of InterfaceEndpoint resources.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpointListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all interface endpoints": { "$ref": "./examples/InterfaceEndpointListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "InterfaceEndpoint": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/InterfaceEndpointProperties",
+ "description": "Properties of the interface endpoint."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Interface endpoint resource."
+ },
+ "InterfaceEndpointProperties": {
+ "properties": {
+ "fqdn": {
+ "type": "string",
+ "description": "A first-party service's FQDN that is mapped to the private IP allocated via this interface endpoint."
+ },
+ "endpointService": {
+ "$ref": "#/definitions/EndpointService",
+ "description": "A reference to the service being brought into the virtual network."
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The ID of the subnet from which the private IP will be allocated."
+ },
+ "networkInterfaces": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterface"
+ },
+ "description": "Gets an array of references to the network interfaces created for this interface endpoint."
+ },
+ "owner": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A read-only property that identifies who created this interface endpoint."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the interface endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the interface endpoint."
+ },
+ "EndpointService": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique identifier of the service being referenced by the interface endpoint."
+ }
+ },
+ "description": "Identifies the service being brought into the virtual network."
+ },
+ "InterfaceEndpointListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ },
+ "description": "Gets a list of InterfaceEndpoint resources in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ },
+ "description": "Response for the ListInterfaceEndpoints API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/loadBalancer.json
new file mode 100644
index 000000000000..003ecf74ce12
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/loadBalancer.json
@@ -0,0 +1,1804 @@
+{
+ "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-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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}/outboundRules": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerOutboundRules_List",
+ "description": "Gets all the outbound 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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer OutboundRule resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerOutboundRuleListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "LoadBalancerOutboundRuleList": { "$ref": "./examples/LoadBalancerOutboundRuleList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerOutboundRules_Get",
+ "description": "Gets the specified load balancer outbound 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": "outboundRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the outbound rule."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting OutboundRule resource.",
+ "schema": {
+ "$ref": "#/definitions/OutboundRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerOutboundRuleGet": { "$ref": "./examples/LoadBalancerOutboundRuleGet.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ },
+ "outboundRules": {
+ "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."
+ },
+ "publicIPPrefix": {
+ "$ref":"./network.json#/definitions/SubResource",
+ "description": "The reference of the Public IP Prefix 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."
+ },
+ "outboundRule": {
+ "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."
+ },
+ "enableTcpReset": {
+ "type": "boolean",
+ "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
+ },
+ "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', 'Tcp', or 'Https'. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.",
+ "enum": [
+ "Http",
+ "Tcp",
+ "Https"
+ ],
+ "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."
+ },
+ "enableTcpReset": {
+ "type": "boolean",
+ "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
+ },
+ "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."
+ },
+ "enableTcpReset": {
+ "type": "boolean",
+ "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
+ },
+ "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."
+ },
+ "OutboundRulePropertiesFormat": {
+ "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'."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Protocol - TCP, UDP or All",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "All"
+ ]
+ },
+ "enableTcpReset": {
+ "type": "boolean",
+ "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "description": "The timeout for the TCP idle connection"
+ }
+ },
+ "required": [
+ "backendAddressPool",
+ "frontendIPConfigurations",
+ "protocol"
+ ],
+ "description": "Outbound pool of the load balancer."
+ },
+ "OutboundRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OutboundRulePropertiesFormat",
+ "description": "Properties of load balancer outbound 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 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."
+ },
+ "outboundRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundRule"
+ },
+ "description": "The outbound 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."
+ },
+ "LoadBalancerOutboundRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundRule"
+ },
+ "description": "A list of outbound rules in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListOutboundRule 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
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json
new file mode 100644
index 000000000000..754a7a9c492f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json
@@ -0,0 +1,213 @@
+{
+ "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-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": {
+ },
+ "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."
+ },
+ "ManagedServiceIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the resource."
+ }
+ },
+ "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-11-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkInterface.json
new file mode 100644
index 000000000000..0b0ebb6805ac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkInterface.json
@@ -0,0 +1,1393 @@
+{
+ "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-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}": {
+ "delete": {
+ "tags": [
+ "Network Interfaces"
+ ],
+ "operationId": "NetworkInterfaceTapConfigurations_Delete",
+ "description": "Deletes the specified tap configuration from the NetworkInterface.",
+ "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": "tapConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tap configuration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples":
+ {
+ "Delete tap configuration": { "$ref": "./examples/NetworkInterfaceTapConfigurationDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceTapConfigurations_Get",
+ "description": "Get the specified tap configuration on 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": "tapConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tap configuration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a tap configuration.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ }
+ }
+ },
+ "x-ms-examples":
+ {
+ "Get Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "Network Interfaces"
+ ],
+ "operationId": "NetworkInterfaceTapConfigurations_CreateOrUpdate",
+ "description": "Creates or updates a Tap configuration in the specified NetworkInterface.",
+ "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": "tapConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tap configuration."
+ },
+ {
+ "name": "tapConfigurationParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ },
+ "description": "Parameters supplied to the create or update tap configuration operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Tap Configuration resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Tap configuration resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ }
+ }
+ },
+ "x-ms-examples":
+ {
+ "Create Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceTapConfigurations_List",
+ "description": "Get all Tap 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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface TapConfiguration resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual network tap configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkInterfaceTapConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfaceTapConfigurationPropertiesFormat",
+ "description": "Properties of the Virtual Network Tap 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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Tap configuration in a Network Interface"
+ },
+ "NetworkInterfaceTapConfigurationPropertiesFormat": {
+ "properties": {
+ "virtualNetworkTap": {
+ "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap",
+ "description": "The reference of the Virtual Network Tap resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the network interface tap configuration. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Virtual Network Tap configuration."
+ },
+ "NetworkInterfaceIPConfigurationPropertiesFormat": {
+ "properties": {
+ "virtualNetworkTaps": {
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap"
+ },
+ "description": "The reference to Virtual Network Taps."
+ },
+ "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.",
+ "readOnly": true
+ },
+ "networkSecurityGroup": {
+ "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
+ "description": "The reference of the NetworkSecurityGroup resource."
+ },
+ "interfaceEndpoint": {
+ "readOnly": true,
+ "$ref": "./interfaceEndpoint.json#/definitions/InterfaceEndpoint",
+ "description": "A reference to the interface endpoint to which the network interface is linked."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "A list of IPConfigurations of the network interface."
+ },
+ "tapConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ },
+ "description": "A list of TapConfigurations 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."
+ },
+ "hostedWorkloads": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "A list of references to linked BareMetal resources"
+ },
+ "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."
+ },
+ "NetworkInterfaceTapConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ },
+ "description": "A list of tap configurations."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list tap configurations 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 separator (e.g. 100-400), or an asterisk (*)"
+ },
+ "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 separator (e.g. 100-400), or an asterisk (*)"
+ },
+ "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, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
+ },
+ "destinationAddressPrefixes" : {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
+ },
+ "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"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkProfile.json
new file mode 100644
index 000000000000..4790e2c7e5ba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkProfile.json
@@ -0,0 +1,575 @@
+{
+ "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-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/networkProfiles/{networkProfileName}": {
+ "delete": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_Delete",
+ "description": "Deletes the specified network profile.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NetworkProfile."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 profile": {
+ "$ref": "./examples/NetworkProfileDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ },
+ "get": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_Get",
+ "description": "Gets the specified network profile in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the PublicIPPrefix."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkProfile resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network profile": {
+ "$ref": "./examples/NetworkProfileGetConfigOnly.json"
+ },
+ "Get network profile with container network interfaces": {
+ "$ref": "./examples/NetworkProfileGetWithContainerNic.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_CreateOrUpdate",
+ "description": "Creates or updates a network profile.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network profile."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ },
+ "description": "Parameters supplied to the create or update network profile operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting NetworkProfile resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkProfile resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create network profile defaults": {
+ "$ref": "./examples/NetworkProfileCreateConfigOnly.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ },
+ "patch": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_UpdateTags",
+ "description": "Updates network profile tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network profile."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update network profile tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkProfile resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network profile tags": {
+ "$ref": "./examples/NetworkProfileUpdateTags.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles": {
+ "get": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_ListAll",
+ "description": "Gets all the network profiles in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkProfile resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfileListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all network profiles": {
+ "$ref": "./examples/NetworkProfileListAll.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles": {
+ "get": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_List",
+ "description": "Gets all network profiles in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkProfile resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfileListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group network profiles": {
+ "$ref": "./examples/NetworkProfileList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkProfilePropertiesFormat": {
+ "properties": {
+ "containerNetworkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerNetworkInterface"
+ },
+ "description": "List of child container network interfaces."
+ },
+ "containerNetworkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerNetworkInterfaceConfiguration"
+ },
+ "description": "List of chid container network interface configurations."
+ },
+ "resourceGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the network interface resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Network profile properties."
+ },
+ "NetworkProfile": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkProfilePropertiesFormat",
+ "description": "Network profile properties."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Network profile resource."
+ },
+ "NetworkProfileListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkProfile"
+ },
+ "description": "A list of network profiles that exist in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListNetworkProfiles API service call."
+ },
+ "ContainerNetworkInterfacePropertiesFormat": {
+ "properties": {
+ "containerNetworkInterfaceConfiguration": {
+ "$ref": "#/definitions/ContainerNetworkInterfaceConfiguration",
+ "description": "Container network interface configuration from which this container network interface is created."
+ },
+ "container": {
+ "$ref": "#/definitions/Container",
+ "description": "Reference to the container to which this container network interface is attached."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerNetworkInterfaceIpConfiguration"
+ },
+ "description": "Reference to the ip configuration on this container nic."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ }
+ },
+ "ContainerNetworkInterface": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerNetworkInterfacePropertiesFormat",
+ "description": "Container network interface properties."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Container network interface child resource."
+ },
+ "ContainerNetworkInterfaceConfigurationPropertiesFormat": {
+ "properties": {
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPConfigurationProfile"
+ },
+ "description": "A list of ip configurations of the container network interface configuration."
+ },
+ "containerNetworkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "A list of container network interfaces created from this container network interface configuration."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Container network interface configuration properties."
+ },
+ "ContainerNetworkInterfaceConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerNetworkInterfaceConfigurationPropertiesFormat",
+ "description": "Container network interface configuration properties."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Container network interface configuration child resource."
+ },
+ "IPConfigurationProfilePropertiesFormat": {
+ "properties": {
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The reference of the subnet resource to create a container network interface ip configuration."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "IP configuration profile properties."
+ },
+ "IPConfigurationProfile": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IPConfigurationProfilePropertiesFormat",
+ "description": "Properties of the IP configuration profile."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ },
+ "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 profile child resource."
+ },
+ "Container": {
+ "properties": { },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Reference to container resource in remote resource provider."
+ },
+ "ContainerNetworkInterfaceIpConfigurationPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Properties of the container network interface IP configuration."
+ },
+ "ContainerNetworkInterfaceIpConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerNetworkInterfaceIpConfigurationPropertiesFormat",
+ "description": "Properties of the container network interface IP configuration."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "description": "The ip configuration for a container network interface."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json
new file mode 100644
index 000000000000..703911a144d1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json
@@ -0,0 +1,848 @@
+{
+ "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-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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. Asterisks '*' can also be used to match all ports."
+ },
+ "destinationPortRange": {
+ "type": "string",
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisks '*' can also be used to match all ports."
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "description": "The CIDR or source IP range. Asterisks '*' 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. Asterisks '*' 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 outgoing 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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkWatcher.json
new file mode 100644
index 000000000000..b22bc15365ff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkWatcher.json
@@ -0,0 +1,3648 @@
+{
+ "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-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of network watcher resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcherListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of network watcher resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcherListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the topology of resource group.",
+ "schema": {
+ "$ref": "#/definitions/Topology"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request successful. The operation returns the resulting packet capture session.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a packet capture session.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the packet capture session."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful packet capture enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful troubleshooting request",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ },
+ "202": {
+ "description": "Accepted get troubleshooting request.",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get troubleshoot result": { "$ref": "./examples/NetworkWatcherTroubleshootResultQuery.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog": {
+ "post": {
+ "tags": [
+ "NetworkWatchers",
+ "TrafficAnalytics"
+ ],
+ "operationId": "NetworkWatchers_SetFlowLogConfiguration",
+ "x-ms-long-running-operation": true,
+ "description": "Configures flow log and traffic analytics (optional) 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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for setting flow log and traffic analytics (optional) configuration.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Configure flow log": { "$ref": "./examples/NetworkWatcherFlowLogConfigure.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus": {
+ "post": {
+ "tags": [
+ "NetworkWatchers",
+ "TrafficAnalytics"
+ ],
+ "operationId": "NetworkWatchers_GetFlowLogStatus",
+ "x-ms-long-running-operation": true,
+ "description": "Queries status of flow log and traffic analytics (optional) 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 and traffic analytics (optional) status."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for query flow log and traffic analytics (optional) status.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Available Providers List": {
+ "$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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a connection monitor.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation starts the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful connection monitor enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List connection monitors": { "$ref": "./examples/NetworkWatcherConnectionMonitorList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Get network configuration diagnostic.",
+ "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/NetworkConfigurationDiagnosticParameters"
+ },
+ "description": "Parameters to get network configuration diagnostic."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the result of network configuration diagnostic.",
+ "schema": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Network configuration diagnostic": { "$ref": "./examples/NetworkWatcherNetworkConfigurationDiagnostic.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "The error object.",
+ "properties": {
+ "error": {
+ "title": "Error",
+ "$ref": "./network.json#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "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"
+ }
+ ],
+ "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": "IpFlowProtocol",
+ "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"
+ },
+ "format": {
+ "$ref": "#/definitions/FlowLogFormatParameters"
+ }
+ }
+ },
+ "FlowLogStatusParameters": {
+ "description": "Parameters that define a resource to query flow log and traffic analytics (optional) status.",
+ "required": [
+ "targetResourceId"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The target resource where getting the flow log and traffic analytics (optional) 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
+ }
+ }
+ },
+ "FlowLogFormatParameters": {
+ "description": "Parameters that define the flow log format.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The file type of flow log.",
+ "enum": [
+ "JSON"
+ ],
+ "x-ms-enum": {
+ "name": "FlowLogFormatType",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "The version (revision) of the flow log.",
+ "type": "integer",
+ "default": 0
+ }
+ }
+ },
+ "FlowLogInformation": {
+ "description": "Information on the configuration of flow log and traffic analytics (optional) .",
+ "required": [
+ "targetResourceId",
+ "properties"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The ID of the resource to configure for flow log and traffic analytics (optional) .",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FlowLogProperties"
+ },
+ "flowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsProperties"
+ }
+ }
+ },
+ "TrafficAnalyticsProperties": {
+ "description": "Parameters that define the configuration of traffic analytics.",
+ "required": [
+ "networkWatcherFlowAnalyticsConfiguration"
+ ],
+ "properties": {
+ "networkWatcherFlowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsConfigurationProperties"
+ }
+ }
+ },
+ "TrafficAnalyticsConfigurationProperties": {
+ "description": "Parameters that define the configuration of traffic analytics.",
+ "required": [
+ "enabled",
+ "workspaceId",
+ "workspaceRegion",
+ "workspaceResourceId"
+ ],
+ "properties": {
+ "enabled": {
+ "description": "Flag to enable/disable traffic analytics.",
+ "type": "boolean"
+ },
+ "workspaceId": {
+ "description": "The resource guid of the attached workspace",
+ "type": "string"
+ },
+ "workspaceRegion": {
+ "description": "The location of the attached workspace",
+ "type": "string"
+ },
+ "workspaceResourceId": {
+ "description": "Resource Id of the attached workspace ",
+ "type": "string"
+ },
+ "trafficAnalyticsInterval": {
+ "description": "The interval in minutes which would decide how frequently TA service should do flow analytics",
+ "type": "integer"
+ }
+ }
+ },
+ "ConnectivityParameters": {
+ "description": "Parameters that determine how the connectivity check will be performed.",
+ "required": [
+ "source",
+ "destination"
+ ],
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ConnectivitySource"
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectivityDestination"
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Network protocol.",
+ "enum": [
+ "Tcp",
+ "Http",
+ "Https",
+ "Icmp"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true
+ }
+ },
+ "protocolConfiguration": {
+ "$ref": "#/definitions/ProtocolConfiguration"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "ProtocolConfiguration": {
+ "description": "Configuration of the protocol.",
+ "properties": {
+ "HTTPConfiguration": {
+ "$ref": "#/definitions/HTTPConfiguration"
+ }
+ }
+ },
+ "HTTPConfiguration": {
+ "properties": {
+ "method": {
+ "type": "string",
+ "description": "HTTP method.",
+ "enum": [
+ "Get"
+ ],
+ "x-ms-enum": {
+ "name": "HTTPMethod",
+ "modelAsString": true
+ }
+ },
+ "headers": {
+ "type": "array",
+ "description": "List of HTTP headers.",
+ "items": {
+ "$ref": "#/definitions/HTTPHeader"
+ }
+ },
+ "validStatusCodes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "description": "Valid status codes."
+ }
+ },
+ "description": "HTTP configuration of the connectivity check."
+ },
+ "HTTPHeader": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name in HTTP header."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value in HTTP header."
+ }
+ },
+ "description": "Describes the HTTP header."
+ },
+ "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": {
+ "sourceStatus": {
+ "type": "string",
+ "enum": [
+ "Uknown",
+ "Active",
+ "Inactive"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionMonitorSourceStatus",
+ "modelAsString": true
+ },
+ "description": "Status of connection monitor source."
+ },
+ "states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionStateSnapshot"
+ },
+ "description": "Information about connection states."
+ }
+ },
+ "description": "List of connection states snapshots."
+ },
+ "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."
+ },
+ "avgLatencyInMs": {
+ "type": "integer",
+ "description": "Average latency in ms."
+ },
+ "minLatencyInMs": {
+ "type": "integer",
+ "description": "Minimum latency in ms."
+ },
+ "maxLatencyInMs": {
+ "type": "integer",
+ "description": "Maximum latency in ms."
+ },
+ "probesSent": {
+ "type": "integer",
+ "description": "The number of sent probes."
+ },
+ "probesFailed": {
+ "type": "integer",
+ "description": "The number of failed probes."
+ },
+ "hops": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of hops between the source and the destination.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityHop"
+ }
+ }
+ },
+ "description": "Connection state snapshot."
+ },
+ "NetworkConfigurationDiagnosticParameters": {
+ "description": "Parameters to get network configuration diagnostic.",
+ "required": [
+ "targetResourceId",
+ "profiles"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "description": "The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway."
+ },
+ "verbosityLevel": {
+ "type": "string",
+ "enum": [
+ "Normal",
+ "Minimum",
+ "Full"
+ ],
+ "x-ms-enum": {
+ "name": "VerbosityLevel",
+ "modelAsString": true
+ },
+ "description": "Verbosity level. Accepted values are 'Normal', 'Minimum', 'Full'."
+ },
+ "profiles": {
+ "type": "array",
+ "description": "List of network configuration diagnostic profiles.",
+ "items": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile"
+ }
+ }
+ }
+ },
+ "NetworkConfigurationDiagnosticProfile": {
+ "description": "Parameters to compare with network configuration.",
+ "required": [
+ "direction",
+ "protocol",
+ "source",
+ "destination",
+ "destinationPort"
+ ],
+ "properties": {
+ "direction": {
+ "type": "string",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "Direction",
+ "modelAsString": true
+ },
+ "description": "The direction of the traffic. Accepted values are 'Inbound' and 'Outbound'."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Protocol to be verified on. Accepted values are '*', TCP, UDP."
+ },
+ "source": {
+ "type": "string",
+ "description": "Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag."
+ },
+ "destination": {
+ "type": "string",
+ "description": "Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag."
+ },
+ "destinationPort": {
+ "type": "string",
+ "description": "Traffic destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
+ }
+ }
+ },
+ "NetworkConfigurationDiagnosticResponse": {
+ "description": "Results of network configuration diagnostic on the target resource.",
+ "properties": {
+ "results": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of network configuration diagnostic results.",
+ "items": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticResult"
+ }
+ }
+ }
+ },
+ "NetworkConfigurationDiagnosticResult": {
+ "description": "Network configuration diagnostic result corresponded to provided traffic query.",
+ "properties": {
+ "profile": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile"
+ },
+ "networkSecurityGroupResult": {
+ "$ref": "#/definitions/NetworkSecurityGroupResult"
+ }
+ }
+ },
+ "NetworkSecurityGroupResult": {
+ "description": "Network configuration diagnostic result corresponded provided traffic query.",
+ "properties": {
+ "securityRuleAccessResult": {
+ "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
+ }
+ },
+ "evaluatedNetworkSecurityGroups": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of results network security groups diagnostic.",
+ "items": {
+ "$ref": "#/definitions/EvaluatedNetworkSecurityGroup"
+ }
+ }
+ }
+ },
+ "EvaluatedNetworkSecurityGroup": {
+ "description": "Results of network security group evaluation.",
+ "properties": {
+ "networkSecurityGroupId": {
+ "type": "string",
+ "description": "Network security group ID."
+ },
+ "appliedTo": {
+ "type": "string",
+ "description": "Resource ID of nic or subnet to which network security group is applied."
+ },
+ "matchedRule": {
+ "$ref": "#/definitions/MatchedRule"
+ },
+ "rulesEvaluationResult": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of network security rules evaluation results.",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityRulesEvaluationResult"
+ }
+ }
+ }
+ },
+ "MatchedRule": {
+ "description": "Matched rule.",
+ "properties": {
+ "ruleName": {
+ "type": "string",
+ "description": "Name of the matched network security rule."
+ },
+ "action": {
+ "type": "string",
+ "description": "The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'."
+ }
+ }
+ },
+ "NetworkSecurityRulesEvaluationResult": {
+ "description": "Network security rules evaluation result.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the network security rule."
+ },
+ "protocolMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether protocol is matched."
+ },
+ "sourceMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether source is matched."
+ },
+ "sourcePortMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether source port is matched."
+ },
+ "destinationMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether destination is matched."
+ },
+ "destinationPortMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether destination port is matched."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/operation.json
new file mode 100644
index 000000000000..b2fea6a87057
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/operation.json
@@ -0,0 +1,263 @@
+{
+ "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-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": "./network.json#/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."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpAddress.json
new file mode 100644
index 000000000000..04470dd0e71a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpAddress.json
@@ -0,0 +1,492 @@
+{
+ "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-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ },
+ "ddosSettings": {
+ "$ref": "#/definitions/DdosSettings",
+ "description": "The DDoS protection custom policy 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."
+ },
+ "publicIPPrefix": {
+ "$ref":"./network.json#/definitions/SubResource",
+ "description": "The Public IP Prefix this Public IP Address should be allocated from."
+ },
+ "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"
+ },
+ "DdosSettings": {
+ "properties": {
+ "ddosCustomPolicy": {
+ "readOnly": false,
+ "$ref":"./network.json#/definitions/SubResource",
+ "description": "The DDoS custom policy associated with the public IP."
+ },
+ "protectionCoverage": {
+ "readOnly": false,
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "description": "The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized."
+ }
+ },
+ "description": "Contains the DDoS protection settings of the public IP."
+ },
+ "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 object"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpPrefix.json
new file mode 100644
index 000000000000..9e152d04866d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpPrefix.json
@@ -0,0 +1,440 @@
+{
+ "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-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/publicIPPrefixes/{publicIpPrefixName}": {
+ "delete": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_Delete",
+ "description": "Deletes the specified public IP prefix.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpPrefixName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the PublicIpPrefix."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 prefix": { "$ref": "./examples/PublicIpPrefixDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_Get",
+ "description": "Gets the specified public IP prefix in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpPrefixName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the PublicIPPrefix."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting PublicIPPrefix resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get public IP prefix": { "$ref": "./examples/PublicIpPrefixGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_CreateOrUpdate",
+ "description": "Creates or updates a static or dynamic public IP prefix.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpPrefixName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP prefix."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ },
+ "description": "Parameters supplied to the create or update public IP prefix operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting PublicIPPrefix resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting PublicIPPrefix resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create public IP prefix defaults": { "$ref": "./examples/PublicIpPrefixCreateDefaults.json" },
+ "Create public IP prefix allocation method": { "$ref": "./examples/PublicIpPrefixCreateCustomizedValues.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_UpdateTags",
+ "description": "Updates public IP prefix tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpPrefixName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP prefix."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update public IP prefix tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting PublicIPPrefix resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update public IP prefix tags": { "$ref": "./examples/PublicIpPrefixUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes": {
+ "get": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_ListAll",
+ "description": "Gets all the public IP prefixes in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPPrefix resources.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefixListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all public IP prefixes": { "$ref": "./examples/PublicIpPrefixListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes": {
+ "get": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_List",
+ "description": "Gets all public IP prefixes in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPPrefix resources.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefixListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group public IP prefixes": { "$ref": "./examples/PublicIpPrefixList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PublicIPPrefixSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a public IP prefix SKU.",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPPrefixSkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SKU of a public IP prefix"
+ },
+ "PublicIPPrefixPropertiesFormat": {
+ "properties": {
+ "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
+ }
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpTag"
+ },
+ "description": "The list of tags associated with the public IP prefix."
+ },
+ "prefixLength": {
+ "type": "integer",
+ "format":"int32",
+ "description": "The Length of the Public IP Prefix."
+ },
+ "ipPrefix" : {
+ "type":"string",
+ "description": "The allocated Prefix"
+ },
+ "publicIPAddresses": {
+ "type":"array",
+ "items":{
+ "$ref": "#/definitions/ReferencedPublicIpAddress"
+ },
+ "description":"The list of all referenced PublicIPAddresses"
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the public IP prefix resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Public IP prefix properties."
+ },
+ "PublicIPPrefix": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/PublicIPPrefixSku",
+ "description": "The public IP prefix SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PublicIPPrefixPropertiesFormat",
+ "description": "Public IP prefix 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 prefix resource."
+ },
+ "PublicIPPrefixListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ },
+ "description": "A list of public IP prefixes that exists in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListPublicIpPrefixes API service call."
+ },
+ "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 object"
+ },
+ "ReferencedPublicIpAddress":{
+ "properties":{
+ "id":{
+ "type":"string",
+ "description":"The PublicIPAddress Reference"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeFilter.json
new file mode 100644
index 000000000000..2ded3ece4746
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeFilter.json
@@ -0,0 +1,783 @@
+{
+ "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-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeTable.json
new file mode 100644
index 000000000000..2c508c84486a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeTable.json
@@ -0,0 +1,654 @@
+{
+ "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-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/serviceCommunity.json
new file mode 100644
index 000000000000..020adc85827e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/serviceCommunity.json
@@ -0,0 +1,149 @@
+{
+ "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-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/serviceEndpointPolicy.json
new file mode 100644
index 000000000000..93d2b601396d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/serviceEndpointPolicy.json
@@ -0,0 +1,647 @@
+{
+ "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-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/serviceEndpointPolicies/{serviceEndpointPolicyName}": {
+ "delete": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_Delete",
+ "description": "Deletes the specified service endpoint policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 service endpoint Policies": { "$ref": "./examples/ServiceEndpointPolicyDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_Get",
+ "description": "Gets the specified service Endpoint Policies in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ServiceEndpointPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get service endPoint Policy": { "$ref": "./examples/ServiceEndpointPolicyGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_CreateOrUpdate",
+ "description": "Creates or updates a service Endpoint Policies.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ },
+ "description": "Parameters supplied to the create or update service endpoint policy operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting ServiceEndpointPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create service endpoint policy": { "$ref": "./examples/ServiceEndpointPolicyCreate.json" },
+ "Create service endpoint policy with definition": { "$ref": "./examples/ServiceEndpointPolicyCreateWithDefinition.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_Update",
+ "description": "Updates service Endpoint Policies.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update service endpoint policy tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update service endpoint policy tags": { "$ref": "./examples/ServiceEndpointPolicyUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies": {
+ "get": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_List",
+ "description": "Gets all the service endpoint policies in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all service endpoint policy": { "$ref": "./examples/ServiceEndpointPolicyListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies": {
+ "get": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_ListByResourceGroup",
+ "description": "Gets all service endpoint Policies in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group service endpoint policies": { "$ref": "./examples/ServiceEndpointPolicyList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}": {
+ "delete": {
+ "tags": [
+ "ServiceEndpointPolicyDefinitions"
+ ],
+ "operationId": "ServiceEndpointPolicyDefinitions_Delete",
+ "description": "Deletes the specified ServiceEndpoint policy definitions.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Service Endpoint Policy."
+ },
+ {
+ "name": "serviceEndpointPolicyDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy definition."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 service endpoint policy definitions from service endpoint policy": { "$ref": "./examples/ServiceEndpointPolicyDefinitionDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "serviceEndpointPolicyDefinitions"
+ ],
+ "operationId": "ServiceEndpointPolicyDefinitions_Get",
+ "description": "Get the specified service endpoint policy definitions from service endpoint policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy name."
+ },
+ {
+ "name": "serviceEndpointPolicyDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy definition name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get service endpoint definition in service endpoint policy": { "$ref": "./examples/ServiceEndpointPolicyDefinitionGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "serviceEndpointPolicyDefinitions"
+ ],
+ "operationId": "ServiceEndpointPolicyDefinitions_CreateOrUpdate",
+ "description": "Creates or updates a service endpoint policy definition in the specified service endpoint policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "name": "serviceEndpointPolicyDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy definition name."
+ },
+ {
+ "name": "ServiceEndpointPolicyDefinitions",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ },
+ "description": "Parameters supplied to the create or update service endpoint policy operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create service endpoint policy definition": { "$ref": "./examples/ServiceEndpointPolicyDefinitionCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions": {
+ "get": {
+ "tags": [
+ "ServiceEndpointPolicyDefinitions"
+ ],
+ "operationId": "ServiceEndpointPolicyDefinitions_ListByResourceGroup",
+ "description": "Gets all service endpoint policy definitions in a service end point policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ServiceEndpointPolicyDefinition resources.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinitionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List service endpoint definitions in service end point policy": { "$ref": "./examples/ServiceEndpointPolicyDefinitionList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServiceEndpointPolicyDefinitionPropertiesFormat": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for this rule. Restricted to 140 chars."
+ },
+ "service": {
+ "type": "string",
+ "description": "service endpoint name."
+ },
+ "serviceResources": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of service resources."
+ },
+ "provisioningState": {
+ "readOnly" : true,
+ "type": "string",
+ "description": "The provisioning state of the service end point policy definition. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Service Endpoint policy definition resource."
+ },
+ "ServiceEndpointPolicyDefinition": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinitionPropertiesFormat",
+ "description": "Properties of the service endpoint policy definition"
+ },
+ "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": "Service Endpoint policy definitions."
+ },
+ "ServiceEndpointPolicyDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ },
+ "description": "The service endpoint policy definition in a service endpoint policy."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy."
+ },
+ "ServiceEndpointPolicyPropertiesFormat": {
+ "properties": {
+ "serviceEndpointPolicyDefinitions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ },
+ "description": "A collection of service endpoint policy definitions of the service endpoint policy."
+ },
+ "subnets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet"
+ },
+ "description": "A collection of references to subnets."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource GUID property of the service endpoint policy resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the service endpoint policy. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Service Endpoint Policy resource."
+ },
+ "ServiceEndpointPolicy": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceEndpointPolicyPropertiesFormat",
+ "description": "Properties of the service end point policy"
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Service End point policy resource."
+ },
+ "ServiceEndpointPolicyListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ },
+ "description": "A list of ServiceEndpointPolicy resources."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListServiceEndpointPolicies API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/usage.json
new file mode 100644
index 000000000000..3bfa0b328851
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/usage.json
@@ -0,0 +1,150 @@
+{
+ "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-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}/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" },
+ "List usages spaced location": { "$ref": "./examples/UsageListSpacedLocation.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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetwork.json
new file mode 100644
index 000000000000..93f988b443ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetwork.json
@@ -0,0 +1,1381 @@
+{
+ "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-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" },
+ "Get virtual network with a delegated subnet": { "$ref": "./examples/VirtualNetworkGetWithSubnetDelegation.json" },
+ "Get virtual network with service association links": { "$ref": "./examples/VirtualNetworkGetWithServiceAssociationLink.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 subnet containing address prefixes": { "$ref": "./examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json" },
+ "Create virtual network with service endpoints": { "$ref": "./examples/VirtualNetworkCreateServiceEndpoints.json" },
+ "Create virtual network with delegated subnets": { "$ref": "./examples/VirtualNetworkCreateSubnetWithDelegation.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" },
+ "Get subnet with a delegation": { "$ref": "./examples/SubnetGetWithDelegation.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" },
+ "Create subnet with a delegation": { "$ref": "./examples/SubnetCreateWithDelegation.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "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": "ipAddress",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The private IP address to be verified."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": {
+ "ServiceAssociationLinkPropertiesFormat": {
+ "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 ServiceAssociationLink resource."
+ }
+ },
+ "description": "Properties of ServiceAssociationLink."
+ },
+ "ServiceAssociationLink": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceAssociationLinkPropertiesFormat",
+ "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": "ServiceAssociationLink resource."
+ },
+ "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."
+ },
+ "ServiceDelegationPropertiesFormat": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers)"
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Describes the actions permitted to the service upon delegation"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Properties of a service delegation."
+ },
+ "Delegation": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceDelegationPropertiesFormat",
+ "description": "Properties of the subnet."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a subnet. 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": "Details the service to which the subnet is delegated."
+ },
+ "SubnetPropertiesFormat": {
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "The address prefix for the subnet."
+ },
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of address prefixes 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."
+ },
+ "serviceEndpointPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "./serviceEndpointPolicy.json#/definitions/ServiceEndpointPolicy"
+ },
+ "description": "An array of service endpoint policies."
+ },
+ "interfaceEndpoints": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./interfaceEndpoint.json#/definitions/InterfaceEndpoint"
+ },
+ "description": "An array of references to interface 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."
+ },
+ "ipConfigurationProfiles": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkProfile.json#/definitions/IPConfigurationProfile"
+ },
+ "description": "Array of IP configuration profiles which reference this subnet."
+ },
+ "resourceNavigationLinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceNavigationLink"
+ },
+ "description": "Gets an array of references to the external resources using subnet."
+ },
+ "serviceAssociationLinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceAssociationLink"
+ },
+ "description": "Gets an array of references to services injecting into this subnet."
+ },
+ "delegations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Delegation"
+ },
+ "description": "Gets an array of references to the delegations on the subnet."
+ },
+ "purpose": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties."
+ },
+ "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",
+ "default": false,
+ "description": "Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource."
+ },
+ "enableVmProtection": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates if VM protection is enabled for all the subnets in the virtual network."
+ },
+ "ddosProtectionPlan": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "default": null,
+ "description": "The DDoS protection plan associated with the 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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json
new file mode 100644
index 000000000000..465257f50b1b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json
@@ -0,0 +1,2817 @@
+{
+ "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-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "UpdateVirtualNetworkGateway": { "$ref": "./examples/VirtualNetworkGatewayUpdate.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGateway": { "$ref": "./examples/VirtualNetworkGatewayGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "DeleteVirtualNetworkGateway": { "$ref": "./examples/VirtualNetworkGatewayDelete.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateVirtualNetworkGatewayTags": { "$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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVirtualNetworkGatewaysinResourceGroup": { "$ref": "./examples/VirtualNetworkGatewayList.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "ResetVirtualNetworkGateway": { "$ref": "./examples/VirtualNetworkGatewayReset.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_ResetVpnClientSharedKey",
+ "description": "Resets the VPN client shared key 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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation reset the vpn client shared key of the virtual network gateway."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously"
+ }
+ },
+ "x-ms-examples": {
+ "ResetVpnClientSharedKey": { "$ref": "./examples/VirtualNetworkGatewayResetVpnClientSharedKey.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN client package URL.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GenerateVPNClientPackage": { "$ref": "./examples/VirtualNetworkGatewayGenerateVpnClientPackage.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GenerateVirtualNetworkGatewayVPNProfile": { "$ref": "./examples/VirtualNetworkGatewayGenerateVpnProfile.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGatewayVPNProfilePackageURL": { "$ref": "./examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "GetVirtualNetworkGatewayBGPPeerStatus": { "$ref": "./examples/VirtualNetworkGatewayGetBGPPeerStatus.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Xml format representation for supported vpn devices.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVirtualNetworkGatewaySupportedVPNDevices": { "$ref": "./examples/VirtualNetworkGatewaySupportedVpnDevice.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "GetVirtualNetworkGatewayLearnedRoutes": { "$ref": "./examples/VirtualNetworkGatewayLearnedRoutes.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "GetVirtualNetworkGatewayAdvertisedRoutes": { "$ref": "./examples/VirtualNetworkGatewayGetAdvertisedRoutes.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_SetVpnclientIpsecParameters",
+ "description": "The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway 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": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "vpnclientIpsecParams",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnClientIPsecParameters"
+ },
+ "description": "Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.",
+ "schema": {
+ "$ref": "#/definitions/VpnClientIPsecParameters"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Set VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetVpnclientIpsecParameters",
+ "description": "The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway 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": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual network gateway name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the set vpnclient ipsec parameters for P2S client of VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VpnClientIPsecParameters"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
+ }
+
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Xml format representation for vpn device configuration script.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetVPNDeviceConfigurationScript": { "$ref": "./examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "CreateVirtualNetworkGatewayConnection_S2S": { "$ref": "./examples/VirtualNetworkGatewayConnectionCreate.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGatewayConnection": { "$ref": "./examples/VirtualNetworkGatewayConnectionGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "DeleteVirtualNetworkGatewayConnection": { "$ref": "./examples/VirtualNetworkGatewayConnectionDelete.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateVirtualNetworkGatewayConnectionTags": { "$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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "SetVirtualNetworkGatewayConnectionSharedKey": { "$ref": "./examples/VirtualNetworkGatewayConnectionSetSharedKey.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGatewayConnectionSharedKey": { "$ref": "./examples/VirtualNetworkGatewayConnectionGetSharedKey.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation resets the virtual network gateway connection shared key.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVirtualNetworkGatewayConnectionsinResourceGroup": { "$ref": "./examples/VirtualNetworkGatewayConnectionsList.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "ResetVirtualNetworkGatewayConnectionSharedKey": { "$ref": "./examples/VirtualNetworkGatewayConnectionResetSharedKey.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "CreateLocalNetworkGateway": { "$ref": "./examples/LocalNetworkGatewayCreate.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetLocalNetworkGateway": { "$ref": "./examples/LocalNetworkGatewayGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "DeleteLocalNetworkGateway": { "$ref": "./examples/LocalNetworkGatewayDelete.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateLocalNetworkGatewayTags": { "$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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LocalNetworkGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGatewayListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListLocalNetworkGateways": { "$ref": "./examples/LocalNetworkGatewayList.json" }
+ },
+ "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",
+ "OpenVPN"
+ ],
+ "x-ms-enum": {
+ "name": "VpnClientProtocol",
+ "modelAsString": true
+ }
+ },
+ "description": "VpnClientProtocols for Virtual network gateway."
+ },
+ "vpnClientIpsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpsecPolicy"
+ },
+ "description": "VpnClientIpsecPolicies for virtual network gateway P2S client."
+ },
+ "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",
+ "VpnGw1AZ",
+ "VpnGw2AZ",
+ "VpnGw3AZ",
+ "ErGw1AZ",
+ "ErGw2AZ",
+ "ErGw3AZ"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewaySkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Gateway SKU tier.",
+ "enum": [
+ "Basic",
+ "HighPerformance",
+ "Standard",
+ "UltraPerformance",
+ "VpnGw1",
+ "VpnGw2",
+ "VpnGw3",
+ "VpnGw1AZ",
+ "VpnGw2AZ",
+ "VpnGw3AZ",
+ "ErGw1AZ",
+ "ErGw2AZ",
+ "ErGw3AZ"
+ ],
+ "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
+ }
+ },
+ "connectionProtocol": {
+ "$ref": "#/definitions/ConnectionProtocol",
+ "description": "Connection protocol used for this connection"
+ },
+ "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'."
+ },
+ "expressRouteGatewayBypass": {
+ "type": "boolean",
+ "description": "Bypass ExpressRoute Gateway for data forwarding"
+ }
+ },
+ "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."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "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",
+ "GCMAES256",
+ "GCMAES128"
+ ],
+ "x-ms-enum": {
+ "name": "IkeEncryption",
+ "modelAsString": true
+ }
+ },
+ "ikeIntegrity": {
+ "type": "string",
+ "description": "The IKE integrity algorithm (IKE phase 2).",
+ "enum": [
+ "MD5",
+ "SHA1",
+ "SHA256",
+ "SHA384",
+ "GCMAES256",
+ "GCMAES128"
+ ],
+ "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 Pfs Groups used in IKE Phase 2 for new child SA.",
+ "enum": [
+ "None",
+ "PFS1",
+ "PFS2",
+ "PFS2048",
+ "ECP256",
+ "ECP384",
+ "PFS24",
+ "PFS14",
+ "PFSMM"
+ ],
+ "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"
+ },
+ "ConnectionProtocol": {
+ "type": "string",
+ "description": "Gateway connection protocol. Possible values are: 'IKEv2', 'IKEv1'.",
+ "enum": [
+ "IKEv2",
+ "IKEv1"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionProtocol",
+ "modelAsString": true
+ }
+ },
+ "VpnClientIPsecParameters": {
+ "properties": {
+ "saLifeTimeSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client."
+ },
+ "saDataSizeKilobytes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.."
+ },
+ "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",
+ "GCMAES256",
+ "GCMAES128"
+ ],
+ "x-ms-enum": {
+ "name": "IkeEncryption",
+ "modelAsString": true
+ }
+ },
+ "ikeIntegrity": {
+ "type": "string",
+ "description": "The IKE integrity algorithm (IKE phase 2).",
+ "enum": [
+ "MD5",
+ "SHA1",
+ "SHA256",
+ "SHA384",
+ "GCMAES256",
+ "GCMAES128"
+ ],
+ "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 Pfs Groups used in IKE Phase 2 for new child SA.",
+ "enum": [
+ "None",
+ "PFS1",
+ "PFS2",
+ "PFS2048",
+ "ECP256",
+ "ECP384",
+ "PFS24",
+ "PFS14",
+ "PFSMM"
+ ],
+ "x-ms-enum": {
+ "name": "PfsGroup",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "saLifeTimeSeconds",
+ "saDataSizeKilobytes",
+ "ipsecEncryption",
+ "ipsecIntegrity",
+ "ikeEncryption",
+ "ikeIntegrity",
+ "dhGroup",
+ "pfsGroup"
+ ],
+ "description": "An IPSec parameters for a virtual network gateway P2S 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
+ }
+ },
+ "connectionProtocol": {
+ "$ref": "#/definitions/ConnectionProtocol",
+ "description": "Connection protocol used for this connection"
+ },
+ "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'."
+ },
+ "expressRouteGatewayBypass": {
+ "type": "boolean",
+ "description": "Bypass ExpressRoute Gateway for data forwarding"
+ }
+ },
+ "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"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkTap.json
new file mode 100644
index 000000000000..a84411c2ca33
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkTap.json
@@ -0,0 +1,391 @@
+{
+ "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-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/virtualNetworkTaps/{tapName}": {
+ "delete": {
+ "tags": [
+ "VirtualNetworkTap"
+ ],
+ "operationId": "VirtualNetworkTaps_Delete",
+ "description": "Deletes the specified virtual network tap.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "tapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network tap."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. Sets 'Deleting' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ }
+ },
+ "x-ms-examples":
+ {
+ "Delete Virtual Network Tap resource": { "$ref": "./examples/VirtualNetworkTapDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkTap"
+ ],
+ "operationId": "VirtualNetworkTaps_Get",
+ "description": "Gets information about the specified virtual network tap.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "tapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of virtual network tap."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetworkTap resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ }
+ }
+ },
+ "x-ms-examples":
+ {
+ "Get Virtual Network Tap": { "$ref": "./examples/VirtualNetworkTapGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualNetworkTap"
+ ],
+ "operationId": "VirtualNetworkTaps_CreateOrUpdate",
+ "description": "Creates or updates a Virtual Network Tap.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "tapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network tap."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ },
+ "description": "Parameters supplied to the create or update virtual network tap operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetworkTap resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ }
+ }
+ },
+ "x-ms-examples":
+ {
+ "Create Virtual Network Tap": { "$ref": "./examples/VirtualNetworkTapCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworkTap"
+ ],
+ "operationId": "VirtualNetworkTaps_UpdateTags",
+ "description": "Updates an VirtualNetworkTap tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "tapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tap."
+ },
+ {
+ "name": "tapParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update VirtualNetworkTap tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update virtual network tap tags": { "$ref": "./examples/VirtualNetworkTapUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps": {
+ "get": {
+ "tags": [
+ "VirtualNetworkTaps"
+ ],
+ "operationId": "VirtualNetworkTaps_ListAll",
+ "description": "Gets all the VirtualNetworkTaps in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Virtual Network Tap resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTapListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual network taps": { "$ref": "./examples/VirtualNetworkTapListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps": {
+ "get": {
+ "tags": [
+ "VirtualNetworkTaps"
+ ],
+ "operationId": "VirtualNetworkTaps_ListByResourceGroup",
+ "description": "Gets all the VirtualNetworkTaps in a subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Virtual Network Tap resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTapListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual network taps in resource group": { "$ref": "./examples/VirtualNetworkTapList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+},
+"definitions": {
+ "VirtualNetworkTap": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkTapPropertiesFormat",
+ "description": "Virtual Network Tap Properties."
+ },
+ "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 Tap resource"
+ },
+ "VirtualNetworkTapPropertiesFormat": {
+ "description": "Virtual Network Tap properties.",
+ "properties": {
+ "networkInterfaceTapConfigurations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceTapConfiguration",
+ "description": "The reference of the Network Interface."
+ },
+ "description": "Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resourceGuid property of the virtual network tap."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the virtual network tap. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "destinationNetworkInterfaceIPConfiguration": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration",
+ "description": "The reference to the private IP Address of the collector nic that will receive the tap"
+ },
+ "destinationLoadBalancerFrontEndIPConfiguration": {
+ "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration",
+ "description": "The reference to the private IP address on the internal Load Balancer that will receive the tap"
+ },
+ "destinationPort": {
+ "type": "integer",
+ "description": "The VXLAN destination port that will receive the tapped traffic."
+ }
+ }
+ },
+ "VirtualNetworkTapListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ },
+ "description": "A list of VirtualNetworkTaps in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListVirtualNetworkTap 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-11-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualWan.json
new file mode 100644
index 000000000000..75b2c73c45be
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualWan.json
@@ -0,0 +1,3348 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "VirtualWANAsAServiceManagementClient",
+ "description": "REST API for Azure VirtualWAN As a Service.",
+ "version": "2018-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/virtualWans/{VirtualWANName}": {
+ "get": {
+ "operationId": "VirtualWans_Get",
+ "x-ms-examples": {
+ "VirtualWANGet": {
+ "$ref": "./examples/VirtualWANGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VirtualWAN.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "VirtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN being retrieved."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualWAN retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VirtualWans_CreateOrUpdate",
+ "x-ms-examples": {
+ "VirtualWANCreate": {
+ "$ref": "./examples/VirtualWANPut.json"
+ }
+ },
+ "description": "Creates a VirtualWAN resource if it doesn't exist else updates the existing VirtualWAN.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "VirtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN being created or updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "WANParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ },
+ "description": "Parameters supplied to create or update VirtualWAN."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualWAN created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualWAN resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualWANs"
+ ],
+ "operationId": "VirtualWans_UpdateTags",
+ "x-ms-examples": {
+ "VirtualWANUpdate": {
+ "$ref": "./examples/VirtualWANUpdateTags.json"
+ }
+ },
+ "description": "Updates a VirtualWAN tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "VirtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN being updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "WANParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to Update VirtualWAN tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualWAN updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VirtualWAN updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VirtualWans_Delete",
+ "x-ms-examples": {
+ "VirtualWANDelete": {
+ "$ref": "./examples/VirtualWANDelete.json"
+ }
+ },
+ "description": "Deletes a VirtualWAN.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "VirtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN being deleted."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. VirtualWAN deleted."
+ },
+ "202": {
+ "description": "Request received successfully. VirtualWAN deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No VirtualWANs exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans": {
+ "get": {
+ "operationId": "VirtualWans_ListByResourceGroup",
+ "x-ms-examples": {
+ "VirtualWANListByResourceGroup": {
+ "$ref": "./examples/VirtualWANListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the VirtualWANs in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VirtualWANs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualWANsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans": {
+ "get": {
+ "operationId": "VirtualWans_List",
+ "x-ms-examples": {
+ "VirtualWANList": {
+ "$ref": "./examples/VirtualWANList.json"
+ }
+ },
+ "description": "Lists all the VirtualWANs in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VirtualWANs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualWANsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}": {
+ "get": {
+ "operationId": "VpnSites_Get",
+ "x-ms-examples": {
+ "VpnSiteGet": {
+ "$ref": "./examples/VpnSiteGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VPN site.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "name": "vpnSiteName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSite being retrieved."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnSite retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VpnSites_CreateOrUpdate",
+ "x-ms-examples": {
+ "VpnSiteCreate": {
+ "$ref": "./examples/VpnSitePut.json"
+ }
+ },
+ "description": "Creates a VpnSite resource if it doesn't exist else updates the existing VpnSite.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "name": "vpnSiteName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSite being created or updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "VpnSiteParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ },
+ "description": "Parameters supplied to create or update VpnSite."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnSite created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VpnSite created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VpnSites"
+ ],
+ "operationId": "VpnSites_UpdateTags",
+ "x-ms-examples": {
+ "VpnSiteUpdate": {
+ "$ref": "./examples/VpnSiteUpdateTags.json"
+ }
+ },
+ "description": "Updates VpnSite tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "name": "vpnSiteName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSite being updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "VpnSiteParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update VpnSite tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnSite updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VpnSite updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VpnSites_Delete",
+ "x-ms-examples": {
+ "VpnSiteDelete": {
+ "$ref": "./examples/VpnSiteDelete.json"
+ }
+ },
+ "description": "Deletes a VpnSite.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "name": "vpnSiteName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSite being deleted."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. VpnSite deleted."
+ },
+ "202": {
+ "description": "Request received successfully. VpnSite deletion is in progress"
+ },
+ "204": {
+ "description": "No VpnSites exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites": {
+ "get": {
+ "operationId": "VpnSites_ListByResourceGroup",
+ "x-ms-examples": {
+ "VpnSiteListByResourceGroup": {
+ "$ref": "./examples/VpnSiteListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the vpnSites in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the vpnSites in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnSitesResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites": {
+ "get": {
+ "operationId": "VpnSites_List",
+ "x-ms-examples": {
+ "VpnSiteList": {
+ "$ref": "./examples/VpnSiteList.json"
+ }
+ },
+ "description": "Lists all the VpnSites in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VpnSites in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnSitesResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration": {
+ "post": {
+ "operationId": "VpnSitesConfiguration_Download",
+ "x-ms-examples": {
+ "VpnSitesConfigurationDownload": {
+ "$ref": "./examples/VpnSitesConfigurationDownload.json"
+ }
+ },
+ "description": "Gives the sas-url to download the configurations for vpn-sites in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name."
+ },
+ {
+ "name": "virtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN for which configuration of all vpn-sites is needed."
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GetVpnSitesConfigurationRequest"
+ },
+ "description": "Parameters supplied to download vpn-sites configuration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Follow the location header for sas-url to output blob."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously. Follow the location header for sas-url to output blob."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders": {
+ "get": {
+ "operationId": "SupportedSecurityProviders",
+ "x-ms-examples": {
+ "supportedSecurityProviders": {
+ "$ref": "./examples/VirtualWanSupportedSecurityProviders.json"
+ }
+ },
+ "description": "Gives the supported security providers for the virtual wan.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name."
+ },
+ {
+ "name": "virtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN for which supported security providers are needed."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the object containing supported security providers.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWanSecurityProviders"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}": {
+ "get": {
+ "operationId": "VirtualHubs_Get",
+ "x-ms-examples": {
+ "VirtualHubGet": {
+ "$ref": "./examples/VirtualHubGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VirtualHub.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHub retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VirtualHubs_CreateOrUpdate",
+ "x-ms-examples": {
+ "VirtualHubPut": {
+ "$ref": "./examples/VirtualHubPut.json"
+ }
+ },
+ "description": "Creates a VirtualHub resource if it doesn't exist else updates the existing VirtualHub.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualHubParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ },
+ "description": "Parameters supplied to create or update VirtualHub."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHub created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VirtualHub created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualWANs"
+ ],
+ "operationId": "VirtualHubs_UpdateTags",
+ "x-ms-examples": {
+ "VirtualHubUpdate": {
+ "$ref": "./examples/VirtualHubUpdateTags.json"
+ }
+ },
+ "description": "Updates VirtualHub tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualHubParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update VirtualHub tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHub updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VirtualHub updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VirtualHubs_Delete",
+ "x-ms-examples": {
+ "VirtualHubDelete": {
+ "$ref": "./examples/VirtualHubDelete.json"
+ }
+ },
+ "description": "Deletes a VirtualHub.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. VirtualHub deleted."
+ },
+ "202": {
+ "description": "Request received successfully. VirtualHub deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No VirtualHubs exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs": {
+ "get": {
+ "operationId": "VirtualHubs_ListByResourceGroup",
+ "x-ms-examples": {
+ "VirtualHubListByResourceGroup": {
+ "$ref": "./examples/VirtualHubListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the VirtualHubs in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VirtualHubs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualHubsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs": {
+ "get": {
+ "operationId": "VirtualHubs_List",
+ "x-ms-examples": {
+ "VirtualHubList": {
+ "$ref": "./examples/VirtualHubList.json"
+ }
+ },
+ "description": "Lists all the VirtualHubs in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VirtualHubs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualHubsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}": {
+ "get": {
+ "operationId": "HubVirtualNetworkConnections_Get",
+ "x-ms-examples": {
+ "HubVirtualNetworkConnectionGet": {
+ "$ref": "./examples/HubVirtualNetworkConnectionGet.json"
+ }
+ },
+ "description": "Retrieves the details of a HubVirtualNetworkConnection.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vpn connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the HubVirtualNetworkConnection retrieved.",
+ "schema": {
+ "$ref": "#/definitions/HubVirtualNetworkConnection"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections": {
+ "get": {
+ "operationId": "HubVirtualNetworkConnections_List",
+ "x-ms-examples": {
+ "HubVirtualNetworkConnectionList": {
+ "$ref": "./examples/HubVirtualNetworkConnectionList.json"
+ }
+ },
+ "description": "Retrieves the details of all HubVirtualNetworkConnections.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the HubVirtualNetworkConnections for the VirtualHub.",
+ "schema": {
+ "$ref": "#/definitions/ListHubVirtualNetworkConnectionsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}": {
+ "get": {
+ "operationId": "VpnGateways_Get",
+ "x-ms-examples": {
+ "VpnGatewayGet": {
+ "$ref": "./examples/VpnGatewayGet.json"
+ }
+ },
+ "description": "Retrieves the details of a virtual wan vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the virtual wan vpn gateway retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VpnGateways_CreateOrUpdate",
+ "x-ms-examples": {
+ "VpnGatewayPut": {
+ "$ref": "./examples/VpnGatewayPut.json"
+ }
+ },
+ "description": "Creates a virtual wan vpn gateway if it doesn't exist else updates the existing gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "vpnGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ },
+ "description": "Parameters supplied to create or Update a virtual wan vpn gateway."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the virtual wan vpn Gateway created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "201": {
+ "description": "Request successful. Returns the details of the virtual wan vpn gateway retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VpnGateways"
+ ],
+ "operationId": "VpnGateways_UpdateTags",
+ "x-ms-examples": {
+ "VpnGatewayUpdate": {
+ "$ref": "./examples/VpnGatewayUpdateTags.json"
+ }
+ },
+ "description": "Updates virtual wan vpn gateway tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "vpnGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update a virtual wan vpn gateway tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the updated gateway.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the updated gateway.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VpnGateways_Delete",
+ "x-ms-examples": {
+ "VpnGatewayDelete": {
+ "$ref": "./examples/VpnGatewayDelete.json"
+ }
+ },
+ "description": "Deletes a virtual wan vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Vpn Gateway deleted."
+ },
+ "202": {
+ "description": "Request received successfully. Vpn Gateway deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No vpn gateways exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways": {
+ "get": {
+ "operationId": "VpnGateways_ListByResourceGroup",
+ "x-ms-examples": {
+ "VpnGatewayListByResourceGroup": {
+ "$ref": "./examples/VpnGatewayListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the VpnGateways in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VpnGateways in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnGatewaysResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways": {
+ "get": {
+ "operationId": "VpnGateways_List",
+ "x-ms-examples": {
+ "VpnGatewayListBySubscription": {
+ "$ref": "./examples/VpnGatewayList.json"
+ }
+ },
+ "description": "Lists all the VpnGateways in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VpnGateways in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnGatewaysResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}": {
+ "get": {
+ "operationId": "VpnConnections_Get",
+ "x-ms-examples": {
+ "VpnConnectionGet": {
+ "$ref": "./examples/VpnConnectionGet.json"
+ }
+ },
+ "description": "Retrieves the details of a vpn connection.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vpn connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the vpn connection.",
+ "schema": {
+ "$ref": "#/definitions/VpnConnection"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VpnConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "VpnConnectionPut": {
+ "$ref": "./examples/VpnConnectionPut.json"
+ }
+ },
+ "description": "Creates a vpn connection to a scalable vpn gateway if it doesn't exist else updates the existing connection.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "VpnConnectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnConnection"
+ },
+ "description": "Parameters supplied to create or Update a VPN Connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the vpn connection created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnConnection"
+ }
+ },
+ "201": {
+ "description": "Request successful. Returns the details of the vpn connection created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnConnection"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VpnConnections_Delete",
+ "x-ms-examples": {
+ "VpnConnectionDelete": {
+ "$ref": "./examples/VpnConnectionDelete.json"
+ }
+ },
+ "description": "Deletes a vpn connection.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Vpn Connection deleted."
+ },
+ "202": {
+ "description": "Request received successfully. Vpn Connection deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No vpn connections exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections": {
+ "get": {
+ "operationId": "VpnConnections_ListByVpnGateway",
+ "x-ms-examples": {
+ "VpnConnectionList": {
+ "$ref": "./examples/VpnConnectionList.json"
+ }
+ },
+ "description": "Retrieves all vpn connections for a particular virtual wan vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all Vpn connections for a virtual wan vpn gateway.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnConnectionsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}": {
+ "get": {
+ "operationId": "P2sVpnServerConfigurations_Get",
+ "x-ms-examples": {
+ "P2SVpnServerConfigurationGet": {
+ "$ref": "./examples/P2SVpnServerConfigurationGet.json"
+ }
+ },
+ "description": "Retrieves the details of a P2SVpnServerConfiguration.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnServerConfiguration."
+ },
+ {
+ "name": "virtualWanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWan."
+ },
+ {
+ "name": "p2SVpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the P2SVpnServerConfiguration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the P2SVpnServerConfiguration.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "P2sVpnServerConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "P2SVpnServerConfigurationPut": {
+ "$ref": "./examples/P2SVpnServerConfigurationPut.json"
+ }
+ },
+ "description": "Creates a P2SVpnServerConfiguration to associate with a VirtualWan if it doesn't exist else updates the existing P2SVpnServerConfiguration.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "virtualWanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWan."
+ },
+ {
+ "name": "p2SVpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the P2SVpnServerConfiguration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "p2SVpnServerConfigurationParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ },
+ "description": "Parameters supplied to create or Update a P2SVpnServerConfiguration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the P2SVpnServerConfiguration created or updated.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ }
+ },
+ "201": {
+ "description": "Request successful. Returns the details of the P2SVpnServerConfiguration created or updated.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "P2sVpnServerConfigurations_Delete",
+ "x-ms-examples": {
+ "P2SVpnServerConfigurationDelete": {
+ "$ref": "./examples/P2SVpnServerConfigurationDelete.json"
+ }
+ },
+ "description": "Deletes a P2SVpnServerConfiguration.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnServerConfiguration."
+ },
+ {
+ "name": "virtualWanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWan."
+ },
+ {
+ "name": "p2SVpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the P2SVpnServerConfiguration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. P2SVpnServerConfiguration deleted."
+ },
+ "202": {
+ "description": "Request received successfully. P2SVpnServerConfiguration deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No P2SVpnServerConfigurations exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations": {
+ "get": {
+ "operationId": "P2sVpnServerConfigurations_ListByVirtualWan",
+ "x-ms-examples": {
+ "P2SVpnServerConfigurationList": {
+ "$ref": "./examples/P2SVpnServerConfigurationList.json"
+ }
+ },
+ "description": "Retrieves all P2SVpnServerConfigurations for a particular VirtualWan.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "virtualWanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWan."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all P2SVpnServerConfigurations for a VirtualWan.",
+ "schema": {
+ "$ref": "#/definitions/ListP2SVpnServerConfigurationsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}": {
+ "get": {
+ "operationId": "P2sVpnGateways_Get",
+ "x-ms-examples": {
+ "P2SVpnGatewayGet": {
+ "$ref": "./examples/P2SVpnGatewayGet.json"
+ }
+ },
+ "description": "Retrieves the details of a virtual wan p2s vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "P2sVpnGateways_CreateOrUpdate",
+ "x-ms-examples": {
+ "P2SVpnGatewayPut": {
+ "$ref": "./examples/P2SVpnGatewayPut.json"
+ }
+ },
+ "description": "Creates a virtual wan p2s vpn gateway if it doesn't exist else updates the existing gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "p2SVpnGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ },
+ "description": "Parameters supplied to create or Update a virtual wan p2s vpn gateway."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the virtual wan p2s vpn Gateway created or updated.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "201": {
+ "description": "Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "P2SVpnGateways"
+ ],
+ "operationId": "P2sVpnGateways_UpdateTags",
+ "x-ms-examples": {
+ "P2SVpnGatewayUpdate": {
+ "$ref": "./examples/P2SVpnGatewayUpdateTags.json"
+ }
+ },
+ "description": "Updates virtual wan p2s vpn gateway tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "p2SVpnGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update a virtual wan p2s vpn gateway tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the updated gateway.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the updated gateway.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "P2sVpnGateways_Delete",
+ "x-ms-examples": {
+ "P2SVpnGatewayDelete": {
+ "$ref": "./examples/P2SVpnGatewayDelete.json"
+ }
+ },
+ "description": "Deletes a virtual wan p2s vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. P2SVpnGateway deleted."
+ },
+ "202": {
+ "description": "Request received successfully. P2SVpnGateway deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No p2s vpn gateways exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways": {
+ "get": {
+ "operationId": "P2sVpnGateways_ListByResourceGroup",
+ "x-ms-examples": {
+ "P2SVpnGatewayListByResourceGroup": {
+ "$ref": "./examples/P2SVpnGatewayListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the P2SVpnGateways in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the P2SVpnGateways in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListP2SVpnGatewaysResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways": {
+ "get": {
+ "operationId": "P2sVpnGateways_List",
+ "x-ms-examples": {
+ "P2SVpnGatewayListBySubscription": {
+ "$ref": "./examples/P2SVpnGatewayList.json"
+ }
+ },
+ "description": "Lists all the P2SVpnGateways in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the P2SVpnGateways in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListP2SVpnGatewaysResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile": {
+ "post": {
+ "tags": [
+ "P2SVpnGateways"
+ ],
+ "operationId": "P2sVpnGateways_GenerateVpnProfile",
+ "description": "Generates VPN profile for P2S client of the P2SVpnGateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the P2SVpnGateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/P2SVpnProfileParameters"
+ },
+ "description": "Parameters supplied to the generate P2SVpnGateway VPN client package operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "$ref": "#/definitions/VpnProfileResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GenerateP2SVpnGatewayVPNProfile": { "$ref": "./examples/P2SVpnGatewayGenerateVpnProfile.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "VirtualWanProperties": {
+ "properties": {
+ "disableVpnEncryption": {
+ "type": "boolean",
+ "description": "Vpn encryption to be disabled or not."
+ },
+ "virtualHubs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "List of VirtualHubs in the VirtualWAN."
+ },
+ "vpnSites": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "securityProviderName": {
+ "type": "string",
+ "description": "The Security Provider name."
+ },
+ "allowBranchToBranchTraffic": {
+ "type": "boolean",
+ "description": "True if branch to branch traffic is allowed."
+ },
+ "allowVnetToVnetTraffic": {
+ "type": "boolean",
+ "description": "True if Vnet to Vnet traffic is allowed."
+ },
+ "office365LocalBreakoutCategory": {
+ "description": "The office local breakout category.",
+ "$ref": "#/definitions/OfficeTrafficCategory"
+ },
+ "p2SVpnServerConfigurations": {
+ "type": "array",
+ "description": "list of all P2SVpnServerConfigurations associated with the virtual wan.",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Parameters for VirtualWAN"
+ },
+ "VirtualWAN": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualWanProperties"
+ },
+ "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": "VirtualWAN Resource."
+ },
+ "ListVirtualWANsResult": {
+ "description": "Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualWAN"
+ },
+ "description": "List of VirtualWANs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnSiteProperties": {
+ "properties": {
+ "virtualWan": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VirtualWAN to which the vpnSite belongs"
+ },
+ "deviceProperties": {
+ "description": "The device properties",
+ "$ref": "#/definitions/DeviceProperties"
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The ip-address for the vpn-site."
+ },
+ "siteKey": {
+ "type": "string",
+ "description": "The key for vpn-site that can be used for connections."
+ },
+ "addressSpace": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The AddressSpace that contains an array of IP address ranges."
+ },
+ "bgpProperties": {
+ "$ref": "./virtualNetworkGateway.json#/definitions/BgpSettings",
+ "description": "The set of bgp properties."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "isSecuritySite": {
+ "type": "boolean",
+ "description": "IsSecuritySite flag"
+ }
+ },
+ "description": "Parameters for VpnSite"
+ },
+ "VpnSite": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnSiteProperties"
+ },
+ "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": "VpnSite Resource."
+ },
+ "ListVpnSitesResult": {
+ "description": "Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnSite"
+ },
+ "description": "List of VpnSites."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "GetVpnSitesConfigurationRequest": {
+ "properties": {
+ "vpnSites": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of resource-ids of the vpn-sites for which config is to be downloaded."
+ },
+ "outputBlobSasUrl": {
+ "type": "string",
+ "description": "The sas-url to download the configurations for vpn-sites"
+ }
+ },
+ "description": "List of Vpn-Sites"
+ },
+ "VirtualHubProperties": {
+ "properties": {
+ "virtualWan": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VirtualWAN to which the VirtualHub belongs"
+ },
+ "vpnGateway": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VpnGateway associated with this VirtualHub"
+ },
+ "p2SVpnGateway": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The P2SVpnGateway associated with this VirtualHub"
+ },
+ "expressRouteGateway": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The expressRouteGateway associated with this VirtualHub"
+ },
+ "virtualNetworkConnections": {
+ "type": "array",
+ "description": "list of all vnet connections with this VirtualHub.",
+ "items": {
+ "$ref": "#/definitions/HubVirtualNetworkConnection"
+ }
+ },
+ "addressPrefix": {
+ "type": "string",
+ "description": "Address-prefix for this VirtualHub."
+ },
+ "routeTable": {
+ "$ref": "#/definitions/VirtualHubRouteTable",
+ "description": "The routeTable associated with this virtual hub."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Parameters for VirtualHub"
+ },
+ "VirtualHubRouteTable": {
+ "properties" : {
+ "routes": {
+ "type": "array",
+ "description": "list of all routes.",
+ "items": {
+ "$ref": "#/definitions/VirtualHubRoute"
+ }
+ }
+ },
+ "description" : "VirtualHub route table"
+ },
+ "VirtualHubRoute": {
+ "properties" : {
+ "addressPrefixes": {
+ "type": "array",
+ "description": "list of all addressPrefixes.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nextHopIpAddress": {
+ "type": "string",
+ "description": "NextHop ip address."
+ }
+ },
+ "description" : "VirtualHub route"
+ },
+ "VirtualHub": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualHubProperties"
+ },
+ "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": "VirtualHub Resource."
+ },
+ "ListVirtualHubsResult": {
+ "description": "Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualHub"
+ },
+ "description": "List of VirtualHubs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnGatewayProperties": {
+ "properties": {
+ "virtualHub": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VirtualHub to which the gateway belongs"
+ },
+ "connections": {
+ "type": "array",
+ "description": "list of all vpn connections to the gateway.",
+ "items": {
+ "$ref": "#/definitions/VpnConnection"
+ }
+ },
+ "bgpSettings": {
+ "$ref": "./virtualNetworkGateway.json#/definitions/BgpSettings",
+ "description": "Local network gateway's BGP speaker settings."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "vpnGatewayScaleUnit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The scale unit for this vpn gateway."
+ }
+ },
+ "description": "Parameters for VpnGateway"
+ },
+ "VpnGateway": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnGatewayProperties"
+ },
+ "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": "VpnGateway Resource."
+ },
+ "ListVpnGatewaysResult": {
+ "description": "Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnGateway"
+ },
+ "description": "List of VpnGateways."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnConnectionProperties": {
+ "properties": {
+ "remoteVpnSite": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Id of the connected vpn site."
+ },
+ "routingWeight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "routing weight for vpn connection."
+ },
+ "connectionStatus": {
+ "description": "The connection status.",
+ "$ref": "#/definitions/VpnConnectionStatus"
+ },
+ "vpnConnectionProtocolType": {
+ "description": "Connection protocol used for this connection",
+ "$ref": "./virtualNetworkGateway.json#/definitions/ConnectionProtocol"
+ },
+ "ingressBytesTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Ingress bytes transferred."
+ },
+ "egressBytesTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Egress bytes transferred."
+ },
+ "connectionBandwidth": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Expected bandwidth in MBPS."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "SharedKey for the vpn connection."
+ },
+ "enableBgp": {
+ "type": "boolean",
+ "description": "EnableBgp flag"
+ },
+ "ipsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy"
+ },
+ "description": "The IPSec Policies to be considered by this connection."
+ },
+ "enableRateLimiting": {
+ "type": "boolean",
+ "description": "EnableBgp flag"
+ },
+ "enableInternetSecurity": {
+ "type": "boolean",
+ "description": "Enable internet security"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Parameters for VpnConnection"
+ },
+ "VpnConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnConnectionProperties"
+ },
+ "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",
+ "readOnly": true,
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "VpnConnection Resource."
+ },
+ "ListVpnConnectionsResult": {
+ "description": "Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnConnection"
+ },
+ "description": "List of Vpn Connections."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "HubVirtualNetworkConnectionProperties": {
+ "properties": {
+ "remoteVirtualNetwork": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to the remote virtual network."
+ },
+ "allowHubToRemoteVnetTransit": {
+ "type": "boolean",
+ "description": "VirtualHub to RemoteVnet transit to enabled or not."
+ },
+ "allowRemoteVnetToUseHubVnetGateways": {
+ "type": "boolean",
+ "description": "Allow RemoteVnet to use Virtual Hub's gateways."
+ },
+ "enableInternetSecurity": {
+ "type": "boolean",
+ "description": "Enable internet security"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Parameters for HubVirtualNetworkConnection"
+ },
+ "HubVirtualNetworkConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HubVirtualNetworkConnectionProperties"
+ },
+ "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",
+ "readOnly": true,
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "HubVirtualNetworkConnection Resource."
+ },
+ "ListHubVirtualNetworkConnectionsResult": {
+ "description": "List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HubVirtualNetworkConnection"
+ },
+ "description": "List of HubVirtualNetworkConnections."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnSiteId": {
+ "properties": {
+ "vpnSite": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource-uri of the vpn-site for which config is to be fetched."
+ }
+ },
+ "description": "VpnSite Resource."
+ },
+ "DeviceProperties": {
+ "properties": {
+ "deviceVendor": {
+ "type": "string",
+ "description": "Name of the device Vendor."
+ },
+ "deviceModel": {
+ "type": "string",
+ "description": "Model of the device."
+ },
+ "linkSpeedInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Link speed."
+ }
+ },
+ "description": "List of properties of the device."
+ },
+ "VirtualWanSecurityProviders": {
+ "properties": {
+ "supportedProviders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualWanSecurityProvider"
+ }
+ }
+ },
+ "description": "Collection of SecurityProviders."
+ },
+ "VirtualWanSecurityProvider": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the security provider."
+ },
+ "url": {
+ "type": "string",
+ "description": "Url of the security provider."
+ },
+ "type": {
+ "$ref": "#/definitions/VirtualWanSecurityProviderType",
+ "description": "Name of the security provider."
+ }
+ },
+ "description": "Collection of SecurityProviders."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "VpnConnectionStatus": {
+ "type": "string",
+ "description": "The current state of the vpn connection.",
+ "readOnly": true,
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "vpnConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "TunnelConnectionStatus": {
+ "type": "string",
+ "description": "The current state of the tunnel.",
+ "readOnly": true,
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "tunnelConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "HubVirtualNetworkConnectionStatus": {
+ "type": "string",
+ "description": "The current state of the VirtualHub to vnet connection.",
+ "readOnly": true,
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "HubVirtualNetworkConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "disableVpnEncryption": {
+ "type": "boolean",
+ "description": "Vpn encryption to be disabled or not."
+ },
+ "access": {
+ "type": "string",
+ "description": "Access to be allowed or denied.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "access",
+ "modelAsString": true
+ }
+ },
+ "OfficeTrafficCategory": {
+ "type": "string",
+ "description": "The office traffic category.",
+ "readOnly": true,
+ "enum": [
+ "Optimize",
+ "OptimizeAndAllow",
+ "All",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "officeTrafficCategory",
+ "modelAsString": true
+ }
+ },
+ "VirtualWanSecurityProviderType": {
+ "type": "string",
+ "description": "The virtual wan security provider type.",
+ "readOnly": true,
+ "enum": [
+ "External",
+ "Native"
+ ],
+ "x-ms-enum": {
+ "name": "virtualWanSecurityProviderType",
+ "modelAsString": true
+ }
+ },
+ "P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat": {
+ "properties": {
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the P2SVpnServerConfiguration VPN client root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "publicCertData"
+ ],
+ "description": "Properties of VPN client root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigVpnClientRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat",
+ "description": "Properties of the P2SVpnServerConfiguration 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 P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat": {
+ "properties": {
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the P2SVpnServerConfiguration Radius Server root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "publicCertData"
+ ],
+ "description": "Properties of Radius Server root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigRadiusServerRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat",
+ "description": "Properties of the P2SVpnServerConfiguration Radius Server 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": "Radius Server root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat": {
+ "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 P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigVpnClientRevokedCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat",
+ "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 P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat": {
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "description": "The Radius client root certificate thumbprint."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the Radius client root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the Radius client root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigRadiusClientRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat",
+ "description": "Properties of the Radius 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"
+ }
+ ],
+ "description": "Radius client root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigurationProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name."
+ },
+ "vpnProtocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "VPN protocol enabled for the P2SVpnServerConfiguration.",
+ "enum": [
+ "IkeV2",
+ "OpenVPN"
+ ],
+ "x-ms-enum": {
+ "name": "VpnGatewayTunnelingProtocol",
+ "modelAsString": true
+ }
+ },
+ "description": "vpnProtocols for the P2SVpnServerConfiguration."
+ },
+ "p2SVpnServerConfigVpnClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfigVpnClientRootCertificate"
+ },
+ "description": "VPN client root certificate of P2SVpnServerConfiguration."
+ },
+ "p2SVpnServerConfigVpnClientRevokedCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfigVpnClientRevokedCertificate"
+ },
+ "description": "VPN client revoked certificate of P2SVpnServerConfiguration."
+ },
+ "p2SVpnServerConfigRadiusServerRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfigRadiusServerRootCertificate"
+ },
+ "description": "Radius Server root certificate of P2SVpnServerConfiguration."
+ },
+ "p2SVpnServerConfigRadiusClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfigRadiusClientRootCertificate"
+ },
+ "description": "Radius client root certificate of P2SVpnServerConfiguration."
+ },
+ "vpnClientIpsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy"
+ },
+ "description": "VpnClientIpsecPolicies for P2SVpnServerConfiguration."
+ },
+ "radiusServerAddress": {
+ "type": "string",
+ "description": "The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection."
+ },
+ "radiusServerSecret": {
+ "type": "string",
+ "description": "The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the P2SVpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "p2SVpnGateways": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "description": "Parameters for P2SVpnServerConfiguration"
+ },
+ "P2SVpnServerConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigurationProperties"
+ },
+ "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",
+ "readOnly": true,
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "P2SVpnServerConfiguration Resource."
+ },
+ "ListP2SVpnServerConfigurationsResult": {
+ "description": "Result of the request to list all P2SVpnServerConfigurations associated to a VirtualWan. It contains a list of P2SVpnServerConfigurations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ },
+ "description": "List of P2SVpnServerConfigurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnClientConnectionHealth": {
+ "properties": {
+ "totalIngressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "Total of the Ingress Bytes Transferred in this P2S Vpn connection"
+ },
+ "totalEgressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "Total of the Egress Bytes Transferred in this connection"
+ },
+ "vpnClientConnectionsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The total of p2s vpn clients connected at this time to this P2SVpnGateway."
+ },
+ "allocatedIpAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allocated ip addresses to the connected p2s vpn clients."
+ }
+ },
+ "description": "VpnClientConnectionHealth properties"
+ },
+ "P2SVpnGatewayProperties": {
+ "properties": {
+ "virtualHub": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VirtualHub to which the gateway belongs"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "vpnGatewayScaleUnit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The scale unit for this p2s vpn gateway."
+ },
+ "p2SVpnServerConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The P2SVpnServerConfiguration to which the p2sVpnGateway is attached to."
+ },
+ "vpnClientAddressPool": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The reference of the address space resource which represents Address space for P2S VpnClient."
+ },
+ "vpnClientConnectionHealth": {
+ "readOnly": true,
+ "$ref": "#/definitions/VpnClientConnectionHealth",
+ "description": "All P2S VPN clients' connection health status."
+ }
+ },
+ "description": "Parameters for P2SVpnGateway"
+ },
+ "P2SVpnGateway": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnGatewayProperties"
+ },
+ "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": "P2SVpnGateway Resource."
+ },
+ "ListP2SVpnGatewaysResult": {
+ "description": "Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ },
+ "description": "List of P2SVpnGateways."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "P2SVpnProfileParameters": {
+ "properties": {
+ "authenticationMethod": {
+ "type": "string",
+ "description": "VPN client Authentication Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'.",
+ "enum": [
+ "EAPTLS",
+ "EAPMSCHAPv2"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Vpn Client Parameters for package generation"
+ },
+ "VpnProfileResponse": {
+ "properties": {
+ "profileUrl": {
+ "type": "string",
+ "description": "URL to the VPN profile"
+ }
+ },
+ "description": "Vpn Profile Response for package generation"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/vmssNetworkInterface.json
new file mode 100644
index 000000000000..b7d61ab82bb4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/vmssNetworkInterface.json
@@ -0,0 +1,389 @@
+{
+ "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"
+ ],
+ "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.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": "./network.json#/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": "./network.json#/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": "./network.json#/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": "./network.json#/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": "./network.json#/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" }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/vmssPublicIpAddress.json
new file mode 100644
index 000000000000..d4ce2eb2ddd4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/vmssPublicIpAddress.json
@@ -0,0 +1,250 @@
+{
+ "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"
+ ],
+ "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.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": "./network.json#/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": "./network.json#/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": "./network.json#/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"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json
new file mode 100644
index 000000000000..94a4e4ee9ee3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationGateway.json
@@ -0,0 +1,2535 @@
+{
+ "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-12-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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/applicationGatewayAvailableServerVariables": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableServerVariables",
+ "x-ms-examples": {
+ "Get Available Server Variables": {
+ "$ref": "./examples/ApplicationGatewayAvailableServerVariablesGet.json"
+ }
+ },
+ "description": "Lists all available server variables.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available server variables.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableServerVariablesResult"
+ }
+ },
+ "default": {
+ "description": "unexpected error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableRequestHeaders",
+ "x-ms-examples": {
+ "Get Available Request Headers": {
+ "$ref": "./examples/ApplicationGatewayAvailableRequestHeadersGet.json"
+ }
+ },
+ "description": "Lists all available request headers.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available request headers.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableRequestHeadersResult"
+ }
+ },
+ "default": {
+ "description": "unexpected error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders": {
+ "get": {
+ "tags": [
+ "ApplicationGateways"
+ ],
+ "operationId": "ApplicationGateways_ListAvailableResponseHeaders",
+ "x-ms-examples": {
+ "Get Available Response Headers": {
+ "$ref": "./examples/ApplicationGatewayAvailableResponseHeadersGet.json"
+ }
+ },
+ "description": "Lists all available response headers.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The operation returns a list of all available response headers.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationGatewayAvailableResponseHeadersResult"
+ }
+ },
+ "default": {
+ "description": "unexpected error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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",
+ "Standard_v2",
+ "WAF_v2"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewaySkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of an application gateway.",
+ "enum": [
+ "Standard",
+ "WAF",
+ "Standard_v2",
+ "WAF_v2"
+ ],
+ "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 IP configuration that is unique within an Application Gateway."
+ },
+ "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 authentication certificate that is unique within an Application Gateway."
+ },
+ "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."
+ },
+ "ApplicationGatewayTrustedRootCertificatePropertiesFormat": {
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Certificate public data."
+ },
+ "keyVaultSecretId": {
+ "type": "string",
+ "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the trusted root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Trusted Root certificates properties of an application gateway."
+ },
+ "ApplicationGatewayTrustedRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificatePropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the trusted root certificate that is unique within an Application Gateway."
+ },
+ "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": "Trusted Root 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."
+ },
+ "keyVaultSecretId": {
+ "type": "string",
+ "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault."
+ },
+ "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 SSL certificate that is unique within an Application Gateway."
+ },
+ "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 frontend IP configuration that is unique within an Application Gateway."
+ },
+ "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 frontend port that is unique within an Application Gateway"
+ },
+ "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": "Name of the backend address pool that is unique within an Application Gateway."
+ },
+ "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": "The destination port on the backend."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "The protocol used to communicate with the backend. Possible values are 'Http' and 'Https'.",
+ "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."
+ },
+ "trustedRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Array of references to application gateway trusted root 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 backend http settings that is unique within an Application Gateway."
+ },
+ "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 of the HTTP listener. Possible values are 'Http' and 'Https'.",
+ "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'."
+ },
+ "customErrorConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayCustomError"
+ },
+ "description": "Custom error configurations of the HTTP listener."
+ }
+ },
+ "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 HTTP listener that is unique within an Application Gateway."
+ },
+ "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."
+ },
+ "rewriteRuleSet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Rewrite rule set 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 path rule that is unique within an Application Gateway."
+ },
+ "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": "The protocol used for the probe. Possible values are 'Http' and 'Https'.",
+ "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 probe that is unique within an Application Gateway."
+ },
+ "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": "Backend http settings 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."
+ },
+ "rewriteRuleSet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Rewrite Rule Set resource in Basic rule 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 request routing rule that is unique within an Application Gateway."
+ },
+ "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."
+ },
+ "ApplicationGatewayRewriteRuleSet": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApplicationGatewayRewriteRuleSetPropertiesFormat"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the rewrite rule set that is unique within an Application Gateway."
+ },
+ "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": "Rewrite rule set of an application gateway."
+ },
+ "ApplicationGatewayRewriteRuleSetPropertiesFormat": {
+ "properties": {
+ "rewriteRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRewriteRule"
+ },
+ "description": "Rewrite rules in the rewrite rule set."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the rewrite rule set resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of rewrite rule set of the application gateway."
+ },
+ "ApplicationGatewayRewriteRule": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the rewrite rule that is unique within an Application Gateway."
+ },
+ "ruleSequence": {
+ "type": "integer",
+ "description": "Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet."
+ },
+ "conditions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRewriteRuleCondition"
+ },
+ "description": "Conditions based on which the action set execution will be evaluated."
+ },
+ "actionSet": {
+ "type": "object",
+ "$ref": "#/definitions/ApplicationGatewayRewriteRuleActionSet",
+ "description": "Set of actions to be done as part of the rewrite Rule."
+ }
+ },
+ "description": "Rewrite rule of an application gateway."
+ },
+ "ApplicationGatewayRewriteRuleCondition": {
+ "properties": {
+ "variable": {
+ "type": "string",
+ "description": "The condition parameter of the RewriteRuleCondition."
+ },
+ "pattern": {
+ "type": "string",
+ "description": "The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition"
+ },
+ "ignoreCase": {
+ "type": "boolean",
+ "description": "Setting this paramter to truth value with force the pattern to do a case in-sensitive comparison."
+ },
+ "negate": {
+ "type": "boolean",
+ "description": "Setting this value as truth will force to check the negation of the condition given by the user."
+ }
+ },
+ "description": "Set of conditions in the Rewrite Rule in Application Gateway."
+ },
+ "ApplicationGatewayRewriteRuleActionSet": {
+ "properties": {
+ "requestHeaderConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration"
+ },
+ "description": "Request Header Actions in the Action Set"
+ },
+ "responseHeaderConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration"
+ },
+ "description": "Response Header Actions in the Action Set"
+ }
+ },
+ "description": "Set of actions in the Rewrite Rule in Application Gateway."
+ },
+ "ApplicationGatewayHeaderConfiguration": {
+ "properties": {
+ "headerName": {
+ "type": "string",
+ "description": "Header name of the header configuration"
+ },
+ "headerValue": {
+ "type": "string",
+ "description": "Header value of the header configuration"
+ }
+ },
+ "description": "Header configuration of the Actions set in 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 redirect configuration that is unique within an Application Gateway."
+ },
+ "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 the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "authenticationCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificate"
+ },
+ "description": "Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "trustedRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificate"
+ },
+ "description": "Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "sslCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewaySslCertificate"
+ },
+ "description": "SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "frontendIPConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration"
+ },
+ "description": "Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "frontendPorts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFrontendPort"
+ },
+ "description": "Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "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. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "backendHttpSettingsCollection": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings"
+ },
+ "description": "Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "httpListeners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayHttpListener"
+ },
+ "description": "Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "urlPathMaps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayUrlPathMap"
+ },
+ "description": "URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "requestRoutingRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRequestRoutingRule"
+ },
+ "description": "Request routing rules of the application gateway resource."
+ },
+ "rewriteRuleSets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRewriteRuleSet"
+ },
+ "description": "Rewrite rules for the application gateway resource."
+ },
+ "redirectConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayRedirectConfiguration"
+ },
+ "description": "Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)."
+ },
+ "webApplicationFirewallConfiguration": {
+ "$ref": "#/definitions/ApplicationGatewayWebApplicationFirewallConfiguration",
+ "description": "Web application firewall configuration."
+ },
+ "enableHttp2": {
+ "type": "boolean",
+ "description": "Whether HTTP2 is enabled on the application gateway resource."
+ },
+ "enableFips": {
+ "type": "boolean",
+ "description": "Whether FIPS is enabled on the application gateway resource."
+ },
+ "autoscaleConfiguration": {
+ "$ref": "#/definitions/ApplicationGatewayAutoscaleConfiguration",
+ "description": "Autoscale Configuration."
+ },
+ "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'."
+ },
+ "customErrorConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayCustomError"
+ },
+ "description": "Custom error configurations of the application gateway resource."
+ }
+ },
+ "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."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting where the resource needs to come from."
+ },
+ "identity": {
+ "$ref": "./network.json#/definitions/ManagedServiceIdentity",
+ "description": "The identity of the application gateway, if configured."
+ }
+ },
+ "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."
+ },
+ "defaultRewriteRuleSet": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Default Rewrite rule set 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 URL path map that is unique within an Application Gateway."
+ },
+ "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": "Maximum request body size for WAF."
+ },
+ "maxRequestBodySizeInKb": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 128,
+ "exclusiveMaximum": false,
+ "minimum": 8,
+ "exclusiveMinimum": false,
+ "description": "Maximum request body size in Kb for WAF."
+ },
+ "fileUploadLimitInMb": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 500,
+ "exclusiveMaximum": false,
+ "minimum": 0,
+ "exclusiveMinimum": false,
+ "description": "Maximum file upload size in Mb for WAF."
+ },
+ "exclusions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApplicationGatewayFirewallExclusion"
+ },
+ "description": "The exclusion list."
+ }
+ },
+ "required": [
+ "enabled",
+ "firewallMode",
+ "ruleSetType",
+ "ruleSetVersion"
+ ],
+ "description": "Application gateway web application firewall configuration."
+ },
+ "ApplicationGatewayAutoscaleConfiguration": {
+ "properties": {
+ "minCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "exclusiveMinimum": false,
+ "description": "Lower bound on number of Application Gateway capacity"
+ },
+ "maxCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 2,
+ "exclusiveMinimum": false,
+ "description": "Upper bound on number of Application Gateway capacity"
+ }
+ },
+ "required": [
+ "minCapacity"
+ ],
+ "description": "Application Gateway autoscale 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."
+ },
+ "ApplicationGatewayAvailableServerVariablesResult": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Response for ApplicationGatewayAvailableServerVariables API service call."
+ },
+ "ApplicationGatewayAvailableRequestHeadersResult": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Response for ApplicationGatewayAvailableRequestHeaders API service call."
+ },
+ "ApplicationGatewayAvailableResponseHeadersResult": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Response for ApplicationGatewayAvailableResponseHeaders API service call."
+ },
+ "ApplicationGatewayFirewallExclusion": {
+ "properties": {
+ "matchVariable": {
+ "type": "string",
+ "description": "The variable to be excluded."
+ },
+ "selectorMatchOperator": {
+ "type": "string",
+ "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to."
+ },
+ "selector": {
+ "type": "string",
+ "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to."
+ }
+ },
+ "required": [
+ "matchVariable",
+ "selectorMatchOperator",
+ "selector"
+ ],
+ "description": "Allow to exclude some variable satisfy the condition for the WAF check"
+ },
+ "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 the 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"
+ },
+ "ApplicationGatewayCustomError": {
+ "properties": {
+ "statusCode": {
+ "type": "string",
+ "description": "Status code of the application gateway customer error.",
+ "enum": [
+ "HttpStatus403",
+ "HttpStatus502"
+ ],
+ "x-ms-enum": {
+ "name": "ApplicationGatewayCustomErrorStatusCode",
+ "modelAsString": true
+ }
+ },
+ "customErrorPageUrl": {
+ "type": "string",
+ "description": "Error page URL of the application gateway customer error."
+ }
+ },
+ "description": "Customer error of an application gateway."
+ },
+ "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
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationSecurityGroup.json
new file mode 100644
index 000000000000..95826c9622d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/applicationSecurityGroup.json
@@ -0,0 +1,353 @@
+{
+ "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-12-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" }
+ }
+ },
+ "patch": {
+ "tags": [
+ "applicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_UpdateTags",
+ "description": "Updates an application security group's tags.",
+ "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": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update application security group tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ApplicationSecurityGroup resource.",
+ "schema": {
+ "$ref": "#/definitions/ApplicationSecurityGroup"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update application security group tags": { "$ref": "./examples/ApplicationSecurityGroupUpdateTags.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups": {
+ "get": {
+ "tags": [
+ "ApplicationSecurityGroups"
+ ],
+ "operationId": "ApplicationSecurityGroups_ListAll",
+ "description": "Gets all application security groups in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/availableDelegations.json
new file mode 100644
index 000000000000..20ead88fbf83
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/availableDelegations.json
@@ -0,0 +1,166 @@
+{
+ "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-12-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}/availableDelegations": {
+ "get": {
+ "operationId": "AvailableDelegations_List",
+ "description": "Gets all of the available subnet delegations for this subscription in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the subnet."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the possible delegations for a subnet in this subscription in the region.",
+ "schema": {
+ "$ref": "#/definitions/AvailableDelegationsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available delegations": {
+ "$ref": "./examples/AvailableDelegationsSubscriptionGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations": {
+ "get": {
+ "operationId": "AvailableResourceGroupDelegations_List",
+ "description": "Gets all of the available subnet delegations for this resource group in this region.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the domain name."
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all of the possible delegations for a subnet in this subscription in the region.",
+ "schema": {
+ "$ref": "#/definitions/AvailableDelegationsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available delegations in the resource group": {
+ "$ref": "./examples/AvailableDelegationsResourceGroupGet.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AvailableDelegationsResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailableDelegation"
+ },
+ "description": "An array of available delegations."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "An array of available delegations."
+ },
+ "AvailableDelegation": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the AvailableDelegation resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "A unique identifier of the AvailableDelegation resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type."
+ },
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the service and resource "
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Describes the actions permitted to the service upon delegation"
+ }
+ },
+ "description": "The serviceName of an AvailableDelegation indicates a possible delegation for a subnet."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/azureFirewall.json
new file mode 100644
index 000000000000..20a24cbb6d11
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/azureFirewall.json
@@ -0,0 +1,784 @@
+{
+ "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-12-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/azureFirewalls/{azureFirewallName}":{
+ "delete":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_Delete",
+ "description":"Deletes the specified Azure Firewall.",
+ "parameters":[
+ {
+ "name":"resourceGroupName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the resource group."
+ },
+ {
+ "name":"azureFirewallName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the Azure Firewall."
+ },
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/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-examples":{
+ "Delete Azure Firewall":{
+ "$ref":"./examples/AzureFirewallDelete.json"
+ }
+ },
+ "x-ms-long-running-operation":true
+ },
+ "get":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_Get",
+ "description":"Gets the specified Azure Firewall.",
+ "parameters":[
+ {
+ "name":"resourceGroupName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the resource group."
+ },
+ {
+ "name":"azureFirewallName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the Azure Firewall."
+ },
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"Request successful. The operation returns an AzureFirewall resource.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewall"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "Get Azure Firewall":{
+ "$ref":"./examples/AzureFirewallGet.json"
+ }
+ }
+ },
+ "put":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_CreateOrUpdate",
+ "description":"Creates or updates the specified Azure Firewall.",
+ "parameters":[
+ {
+ "name":"resourceGroupName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the resource group."
+ },
+ {
+ "name":"azureFirewallName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the Azure Firewall."
+ },
+ {
+ "name":"parameters",
+ "in":"body",
+ "required":true,
+ "schema":{
+ "$ref":"#/definitions/AzureFirewall"
+ },
+ "description":"Parameters supplied to the create or update Azure Firewall operation."
+ },
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "201":{
+ "description":"Create successful. The operation returns the resulting AzureFirewall resource.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewall"
+ }
+ },
+ "200":{
+ "description":"Update successful. The operation returns the resulting AzureFirewall resource.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewall"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "Create Azure Firewall":{
+ "$ref":"./examples/AzureFirewallPut.json"
+ }
+ },
+ "x-ms-long-running-operation":true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_List",
+ "description":"Lists all Azure Firewalls in a resource group.",
+ "parameters":[
+ {
+ "name":"resourceGroupName",
+ "in":"path",
+ "required":true,
+ "type":"string",
+ "description":"The name of the resource group."
+ },
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"Success. The operation returns a list of AzureFirewall resources.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewallListResult"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given resource group":{
+ "$ref":"./examples/AzureFirewallListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable":{
+ "nextLinkName":"nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls":{
+ "get":{
+ "tags":[
+ "AzureFirewalls"
+ ],
+ "operationId":"AzureFirewalls_ListAll",
+ "description":"Gets all the Azure Firewalls in a subscription.",
+ "parameters":[
+ {
+ "$ref":"./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"Success. The operation returns a list of AzureFirewall resources.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewallListResult"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "List all Azure Firewalls for a given subscription":{
+ "$ref":"./examples/AzureFirewallListBySubscription.json"
+ }
+ },
+ "x-ms-pageable":{
+ "nextLinkName":"nextLink"
+ }
+ }
+ }
+ },
+ "definitions":{
+ "AzureFirewallIPConfigurationPropertiesFormat":{
+ "properties":{
+ "privateIPAddress": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes."
+ },
+ "subnet":{
+ "$ref":"./network.json#/definitions/SubResource",
+ "description":"Reference of the subnet resource. This resource must be named 'AzureFirewallSubnet'."
+ },
+ "publicIPAddress": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference of the PublicIP resource. This field is a mandatory input if subnet is not null."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ }
+ },
+ "description":"Properties of IP configuration of an Azure Firewall."
+ },
+ "AzureFirewallIPConfiguration":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallIPConfigurationPropertiesFormat"
+ },
+ "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",
+ "readOnly": true,
+ "description":"A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf":[
+ {
+ "$ref":"./network.json#/definitions/SubResource"
+ }
+ ],
+ "description":"IP configuration of an Azure Firewall."
+ },
+ "AzureFirewallPropertiesFormat":{
+ "properties":{
+ "applicationRuleCollections":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallApplicationRuleCollection"
+ },
+ "description":"Collection of application rule collections used by Azure Firewall."
+ },
+ "natRuleCollections":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNatRuleCollection"
+ },
+ "description":"Collection of NAT rule collections used by Azure Firewall."
+ },
+ "networkRuleCollections":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNetworkRuleCollection"
+ },
+ "description":"Collection of network rule collections used by Azure Firewall."
+ },
+ "ipConfigurations":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallIPConfiguration"
+ },
+ "description":"IP configuration of the Azure Firewall resource."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ },
+ "threatIntelMode":{
+ "description":"The operation mode for Threat Intelligence.",
+ "$ref":"#/definitions/AzureFirewallThreatIntelMode"
+ }
+ },
+ "description":"Properties of the Azure Firewall."
+ },
+ "AzureFirewall":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallPropertiesFormat"
+ },
+ "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":"Azure Firewall resource"
+ },
+ "AzureFirewallListResult":{
+ "properties":{
+ "value":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewall"
+ },
+ "description":"List of Azure Firewalls in a resource group."
+ },
+ "nextLink":{
+ "type":"string",
+ "description":"URL to get the next set of results."
+ }
+ },
+ "description":"Response for ListAzureFirewalls API service call."
+ },
+ "AzureFirewallThreatIntelMode":{
+ "type":"string",
+ "description":"The operation mode for Threat Intel",
+ "enum":[
+ "Alert",
+ "Deny",
+ "Off"
+ ],
+ "x-ms-enum":{
+ "name":"AzureFirewallThreatIntelMode",
+ "modelAsString":true
+ }
+ },
+ "AzureFirewallApplicationRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
+ "type":"integer",
+ "format":"int32",
+ "maximum":65000,
+ "exclusiveMaximum":false,
+ "minimum":100,
+ "exclusiveMinimum":false,
+ "description":"Priority of the application rule collection resource."
+ },
+ "action":{
+ "$ref":"#/definitions/AzureFirewallRCAction",
+ "description":"The action type of a rule collection"
+ },
+ "rules":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallApplicationRule"
+ },
+ "description":"Collection of rules used by a application rule collection."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ }
+ },
+ "description":"Properties of the application rule collection."
+ },
+ "AzureFirewallApplicationRuleCollection":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallApplicationRuleCollectionPropertiesFormat"
+ },
+ "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",
+ "readOnly":true,
+ "description":"Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf":[
+ {
+ "$ref":"./network.json#/definitions/SubResource"
+ }
+ ],
+ "description":"Application rule collection resource"
+ },
+ "AzureFirewallApplicationRuleProtocol":{
+ "properties":{
+ "protocolType":{
+ "description":"Protocol type",
+ "$ref":"#/definitions/AzureFirewallApplicationRuleProtocolType"
+ },
+ "port":{
+ "type":"integer",
+ "format":"int32",
+ "maximum":64000,
+ "exclusiveMaximum":false,
+ "minimum":0,
+ "exclusiveMinimum":false,
+ "description":"Port number for the protocol, cannot be greater than 64000. This field is optional."
+ }
+ },
+ "description":"Properties of the application rule protocol."
+ },
+ "AzureFirewallApplicationRule":{
+ "properties":{
+ "name":{
+ "type":"string",
+ "description":"Name of the application rule."
+ },
+ "description":{
+ "type":"string",
+ "description":"Description of the rule."
+ },
+ "sourceAddresses":{
+ "type":"array",
+ "description":"List of source IP addresses for this rule.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "protocols":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallApplicationRuleProtocol"
+ },
+ "description":"Array of ApplicationRuleProtocols."
+ },
+ "targetFqdns":{
+ "type":"array",
+ "description":"List of FQDNs for this rule.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "fqdnTags":{
+ "type":"array",
+ "description":"List of FQDN Tags for this rule.",
+ "items":{
+ "type":"string"
+ }
+ }
+ },
+ "description":"Properties of an application rule."
+ },
+ "AzureFirewallNatRuleCollectionProperties": {
+ "properties":{
+ "priority":{
+ "type":"integer",
+ "format":"int32",
+ "maximum":65000,
+ "exclusiveMaximum":false,
+ "minimum":100,
+ "exclusiveMinimum":false,
+ "description":"Priority of the NAT rule collection resource."
+ },
+ "action":{
+ "$ref":"#/definitions/AzureFirewallNatRCAction",
+ "description":"The action type of a NAT rule collection"
+ },
+ "rules":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNatRule"
+ },
+ "description":"Collection of rules used by a NAT rule collection."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ }
+ },
+ "description":"Properties of the NAT rule collection."
+ },
+ "AzureFirewallNatRuleCollection":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallNatRuleCollectionProperties"
+ },
+ "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",
+ "readOnly":true,
+ "description":"Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf":[
+ {
+ "$ref":"./network.json#/definitions/SubResource"
+ }
+ ],
+ "description":"NAT rule collection resource"
+ },
+ "AzureFirewallNatRule":{
+ "properties":{
+ "name":{
+ "type":"string",
+ "description":"Name of the NAT rule."
+ },
+ "description":{
+ "type":"string",
+ "description":"Description of the rule."
+ },
+ "sourceAddresses":{
+ "type":"array",
+ "description":"List of source IP addresses for this rule.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "destinationAddresses":{
+ "type":"array",
+ "description":"List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "destinationPorts":{
+ "type":"array",
+ "description":"List of destination ports.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "protocols":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
+ },
+ "description":"Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule."
+ },
+ "translatedAddress":{
+ "type":"string",
+ "description":"The translated address for this NAT rule."
+ },
+ "translatedPort":{
+ "type":"string",
+ "description":"The translated port for this NAT rule."
+ }
+ },
+ "description":"Properties of a NAT rule."
+ },
+ "AzureFirewallNatRCAction":{
+ "properties":{
+ "type":{
+ "description":"The type of action.",
+ "$ref":"#/definitions/AzureFirewallNatRCActionType"
+ }
+ },
+ "description":"AzureFirewall NAT Rule Collection Action."
+ },
+ "AzureFirewallNatRCActionType":{
+ "type":"string",
+ "description":"The action type of a NAT rule collection",
+ "enum":[
+ "Snat",
+ "Dnat"
+ ],
+ "x-ms-enum":{
+ "name":"AzureFirewallNatRCActionType",
+ "modelAsString":true
+ }
+ },
+ "AzureFirewallNetworkRuleCollectionPropertiesFormat":{
+ "properties":{
+ "priority":{
+ "type":"integer",
+ "format":"int32",
+ "maximum":65000,
+ "exclusiveMaximum":false,
+ "minimum":100,
+ "exclusiveMinimum":false,
+ "description":"Priority of the network rule collection resource."
+ },
+ "action":{
+ "$ref":"#/definitions/AzureFirewallRCAction",
+ "description":"The action type of a rule collection"
+ },
+ "rules":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNetworkRule"
+ },
+ "description":"Collection of rules used by a network rule collection."
+ },
+ "provisioningState":{
+ "description":"The provisioning state of the resource.",
+ "$ref":"#/definitions/ProvisioningState"
+ }
+ },
+ "description":"Properties of the network rule collection."
+ },
+ "AzureFirewallNetworkRuleCollection":{
+ "properties":{
+ "properties":{
+ "x-ms-client-flatten":true,
+ "$ref":"#/definitions/AzureFirewallNetworkRuleCollectionPropertiesFormat"
+ },
+ "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",
+ "readOnly":true,
+ "description":"Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf":[
+ {
+ "$ref":"./network.json#/definitions/SubResource"
+ }
+ ],
+ "description":"Network rule collection resource"
+ },
+ "AzureFirewallNetworkRule":{
+ "properties":{
+ "name":{
+ "type":"string",
+ "description":"Name of the network rule."
+ },
+ "description":{
+ "type":"string",
+ "description":"Description of the rule."
+ },
+ "protocols":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallNetworkRuleProtocol"
+ },
+ "description":"Array of AzureFirewallNetworkRuleProtocols."
+ },
+ "sourceAddresses":{
+ "type":"array",
+ "description":"List of source IP addresses for this rule.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "destinationAddresses":{
+ "type":"array",
+ "description":"List of destination IP addresses.",
+ "items":{
+ "type":"string"
+ }
+ },
+ "destinationPorts":{
+ "type":"array",
+ "description":"List of destination ports.",
+ "items":{
+ "type":"string"
+ }
+ }
+ },
+ "description":"Properties of the network rule."
+ },
+ "AzureFirewallRCAction":{
+ "properties":{
+ "type":{
+ "description":"The type of action.",
+ "$ref":"#/definitions/AzureFirewallRCActionType"
+ }
+ },
+ "description":"Properties of the AzureFirewallRCAction."
+ },
+ "AzureFirewallRCActionType":{
+ "type":"string",
+ "description":"The action type of a rule collection",
+ "enum":[
+ "Allow",
+ "Deny",
+ "Alert"
+ ],
+ "x-ms-enum":{
+ "name":"AzureFirewallRCActionType",
+ "modelAsString":true
+ }
+ },
+ "ProvisioningState":{
+ "type":"string",
+ "readOnly":true,
+ "description": "The current provisioning state.",
+ "enum":[
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum":{
+ "name":"ProvisioningState",
+ "modelAsString":true
+ }
+ },
+ "AzureFirewallNetworkRuleProtocol":{
+ "type":"string",
+ "description":"The protocol of a Network Rule resource",
+ "enum":[
+ "TCP",
+ "UDP",
+ "Any",
+ "ICMP"
+ ],
+ "x-ms-enum":{
+ "name":"AzureFirewallNetworkRuleProtocol",
+ "modelAsString":true
+ }
+ },
+ "AzureFirewallApplicationRuleProtocolType":{
+ "type":"string",
+ "description":"The protocol type of a Application Rule resource",
+ "enum":[
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum":{
+ "name":"AzureFirewallApplicationRuleProtocolType",
+ "modelAsString":true
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/azureFirewallFqdnTag.json
new file mode 100644
index 000000000000..75a03f80935e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/azureFirewallFqdnTag.json
@@ -0,0 +1,139 @@
+{
+ "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-12-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/azureFirewallFqdnTags": {
+ "get": {
+ "tags": [
+ "AzureFirewallFqdnTags"
+ ],
+ "operationId": "AzureFirewallFqdnTags_ListAll",
+ "description":"Gets all the Azure Firewall FQDN Tags in a subscription.",
+ "parameters":[
+ {
+ "$ref":"#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref":"#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses":{
+ "200":{
+ "description":"Success. The operation returns a list of Azure Firewall FQDN Tag resources.",
+ "schema":{
+ "$ref":"#/definitions/AzureFirewallFqdnTagListResult"
+ }
+ }
+ },
+ "x-ms-examples":{
+ "List all Azure Firewall FQDN Tags for a given subscription":{
+ "$ref":"./examples/AzureFirewallFqdnTagsListBySubscription.json"
+ }
+ },
+ "x-ms-pageable":{
+ "nextLinkName":"nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AzureFirewallFqdnTagPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource."
+ },
+ "fqdnTagName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of this FQDN Tag."
+ }
+ },
+ "description": "Azure Firewall FQDN Tag Properties"
+ },
+ "AzureFirewallFqdnTag": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureFirewallFqdnTagPropertiesFormat"
+ },
+ "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": "Azure Firewall FQDN Tag Resource"
+ },
+ "AzureFirewallFqdnTagListResult":{
+ "properties":{
+ "value":{
+ "type":"array",
+ "items":{
+ "$ref":"#/definitions/AzureFirewallFqdnTag"
+ },
+ "description":"List of Azure Firewall FQDN Tags in a resource group."
+ },
+ "nextLink":{
+ "type":"string",
+ "description":"URL to get the next set of results."
+ }
+ },
+ "description":"Response for ListAzureFirewallFqdnTags 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-12-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/checkDnsAvailability.json
new file mode 100644
index 000000000000..e4e65fe3e152
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/checkDnsAvailability.json
@@ -0,0 +1,88 @@
+{
+ "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-12-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}/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/ddosCustomPolicy.json
new file mode 100644
index 000000000000..b2316e30a3dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/ddosCustomPolicy.json
@@ -0,0 +1,394 @@
+{
+ "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-12-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/ddosCustomPolicies/{ddosCustomPolicyName}": {
+ "delete": {
+ "tags": [
+ "ddosCustomPolicies"
+ ],
+ "operationId": "DdosCustomPolicies_Delete",
+ "description": "Deletes the specified DDoS custom policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosCustomPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS custom policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete DDoS custom policy": {
+ "$ref": "./examples/DdosCustomPolicyDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ddosCustomPolicies"
+ ],
+ "operationId": "DdosCustomPolicies_Get",
+ "description": "Gets information about the specified DDoS custom policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosCustomPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS custom policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the specified DDoS custom policy resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DDoS custom policy": {
+ "$ref": "./examples/DdosCustomPolicyGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ddosCustomPolicies"
+ ],
+ "operationId": "DdosCustomPolicies_CreateOrUpdate",
+ "description": "Creates or updates a DDoS custom policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosCustomPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS custom policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ },
+ "description": "Parameters supplied to the create or update operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting DDoS custom policy resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting DDoS custom policy resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create DDoS custom policy": {
+ "$ref": "./examples/DdosCustomPolicyCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ddosCustomPolicies"
+ ],
+ "operationId": "DdosCustomPolicies_UpdateTags",
+ "description": "Update a DDoS custom policy tags",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosCustomPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS custom policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the update DDoS custom policy resource tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting DDoS custom policy resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosCustomPolicy"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DDoS Custom policy Update tags": {
+ "$ref": "./examples/DdosCustomPolicyUpdateTags.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DdosCustomPolicy": {
+ "description": "A DDoS custom policy in a resource group.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DdosCustomPolicyPropertiesFormat",
+ "description": "Properties of the DDoS custom policy."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "DdosCustomPolicyPropertiesFormat": {
+ "properties": {
+ "resourceGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the DDoS custom policy resource. It uniquely identifies the 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 DDoS custom policy resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ },
+ "publicIPAddresses": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "The list of public IPs associated with the DDoS custom policy resource. This list is read-only."
+ },
+ "protocolCustomSettings": {
+ "readOnly": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProtocolCustomSettingsFormat"
+ },
+ "description": "The protocol-specific DDoS policy customization parameters."
+ }
+ },
+ "description": "DDoS custom policy properties."
+ },
+ "ProtocolCustomSettingsFormat": {
+ "properties": {
+ "protocol": {
+ "readOnly": false,
+ "type": "string",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "Syn"
+ ],
+ "x-ms-enum": {
+ "name": "DdosCustomPolicyProtocol",
+ "modelAsString": true
+ },
+ "description": "The protocol for which the DDoS protection policy is being customized."
+ },
+ "triggerRateOverride": {
+ "readOnly": false,
+ "type": "string",
+ "description": "The customized DDoS protection trigger rate."
+ },
+ "sourceRateOverride": {
+ "readOnly": false,
+ "type": "string",
+ "description": "The customized DDoS protection source rate."
+ },
+ "triggerSensitivityOverride": {
+ "readOnly": false,
+ "type": "string",
+ "enum": [
+ "Relaxed",
+ "Low",
+ "Default",
+ "High"
+ ],
+ "x-ms-enum": {
+ "name": "DdosCustomPolicyTriggerSensitivityOverride",
+ "modelAsString": true
+ },
+ "description": "The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate sensitivity w.r.t. normal traffic. Low: Trigger rate set with less sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least sensitivity w.r.t. normal traffic."
+ }
+ },
+ "description": "DDoS custom policy properties."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Cloud error body."
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/ddosProtectionPlan.json
new file mode 100644
index 000000000000..7ebc2a166b60
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/ddosProtectionPlan.json
@@ -0,0 +1,343 @@
+{
+ "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-12-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/ddosProtectionPlans/{ddosProtectionPlanName}": {
+ "delete": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_Delete",
+ "description": "Deletes the specified DDoS protection plan.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosProtectionPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS protection plan."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 DDoS protection plan": {
+ "$ref": "./examples/DdosProtectionPlanDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_Get",
+ "description": "Gets information about the specified DDoS protection plan.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosProtectionPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS protection plan."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the specified DDoS protection plan resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get DDoS protection plan": {
+ "$ref": "./examples/DdosProtectionPlanGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_CreateOrUpdate",
+ "description": "Creates or updates a DDoS protection plan.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "ddosProtectionPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the DDoS protection plan."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ },
+ "description": "Parameters supplied to the create or update operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting DDoS protection plan resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting DDoS protection plan resource.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create DDoS protection plan": {
+ "$ref": "./examples/DdosProtectionPlanCreate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans": {
+ "get": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_List",
+ "description": "Gets all DDoS protection plans in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of DDoS protection plan resources.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlanListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all DDoS protection plans": {
+ "$ref": "./examples/DdosProtectionPlanListAll.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans": {
+ "get": {
+ "tags": [
+ "DdosProtectionPlans"
+ ],
+ "operationId": "DdosProtectionPlans_ListByResourceGroup",
+ "description": "Gets all the DDoS protection plans in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of DDoS protection plan resources.",
+ "schema": {
+ "$ref": "#/definitions/DdosProtectionPlanListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List DDoS protection plans in resource group": {
+ "$ref": "./examples/DdosProtectionPlanList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DdosProtectionPlan": {
+ "description": "A DDoS protection plan in a resource group.",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DdosProtectionPlanPropertiesFormat",
+ "description": "Properties of the DDoS protection plan."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ }
+ },
+ "DdosProtectionPlanPropertiesFormat": {
+ "properties": {
+ "resourceGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the DDoS protection plan resource. It uniquely identifies the 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 DDoS protection plan resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ },
+ "virtualNetworks": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "The list of virtual networks associated with the DDoS protection plan resource. This list is read-only."
+ }
+ },
+ "description": "DDoS protection plan properties."
+ },
+ "DdosProtectionPlanListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DdosProtectionPlan"
+ },
+ "description": "A list of DDoS protection plans."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "A list of DDoS protection plans."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/endpointService.json
new file mode 100644
index 000000000000..401768bde2d8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/endpointService.json
@@ -0,0 +1,111 @@
+{
+ "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-12-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
new file mode 100644
index 000000000000..ed7d9975f010
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "Accept-Charset"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
new file mode 100644
index 000000000000..25c86f74da4f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "Access-Control-Allow-Origin"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
new file mode 100644
index 000000000000..dc711d8ba8e8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableServerVariablesGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ "request_query"
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
new file mode 100644
index 000000000000..6d66cdb64e72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableSslOptionsGet.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
new file mode 100644
index 000000000000..6d66cdb64e72
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json
@@ -0,0 +1,9 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
new file mode 100644
index 000000000000..ad747a7b4fa1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "predefinedPolicyName": "AppGwSslPolicy20150501"
+ },
+ "responses": {
+ "200": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
new file mode 100644
index 000000000000..e2585c7e5cb1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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."
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayBackendHealthGet.json
new file mode 100644
index 000000000000..9af3e6f93705
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayBackendHealthGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayCreate.json
new file mode 100644
index 000000000000..cf09e50c94ac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayCreate.json
@@ -0,0 +1,728 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw",
+ "parameters": {
+ "identity": {
+ "type":"UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ },
+ "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": "****"
+ }
+ },
+ {
+ "name": "sslcert2",
+ "properties": {
+ "keyVaultSecretId": "https://kv/secret"
+ }
+ }
+ ],
+ "trustedRootCertificates": [
+ {
+ "name": "rootcert",
+ "properties": {
+ "data": "****"
+ }
+ },
+ {
+ "name": "rootcert1",
+ "properties": {
+ "keyVaultSecretId": "https://kv/secret"
+ }
+ }
+ ],
+ "frontendIPConfigurations": [
+ {
+ "name": "appgwfip",
+ "properties": {
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/appgwpip"
+ }
+ }
+ }
+ ],
+ "frontendPorts": [
+ {
+ "name": "appgwfp",
+ "properties": {
+ "port": 443
+ }
+ },
+ {
+ "name": "appgwfp80",
+ "properties": {
+ "port": 80
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwhttplistener",
+ "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/appgwfp80"
+ },
+ "protocol": "Http"
+ }
+ }
+ ],
+ "urlPathMaps": [
+ {
+ "name": "pathMap1",
+ "properties": {
+ "defaultBackendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "defaultBackendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "defaultRewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ },
+ "pathRules": [
+ {
+ "name": "apiPaths",
+ "properties": {
+ "paths": [
+ "/api", "/v1/api"
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ },
+ {
+ "name": "appgwPathBasedRule",
+ "properties": {
+ "ruleType": "PathBasedRouting",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener"
+ },
+ "urlPathMap": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1"
+ }
+ }
+ }
+ ],
+ "rewriteRuleSets": [
+ {
+ "name": "rewriteRuleSet1",
+ "properties": {
+ "rewriteRules": [
+ {
+ "name": "Set X-Forwarded-For",
+ "ruleSequence": 102,
+ "conditions": [
+ {
+ "variable": "http_req_Authorization",
+ "pattern": "^Bearer",
+ "ignoreCase": true,
+ "negate": false
+ }
+ ],
+ "actionSet": {
+ "requestHeaderConfigurations": [
+ {
+ "headerName": "X-Forwarded-For",
+ "headerValue": "{var_remote-addr}"
+ }
+ ],
+ "responseHeaderConfigurations": [
+ {
+ "headerName": "Strict-Transport-Security",
+ "headerValue": "max-age=31536000"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "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
+ }
+ },
+ {
+ "name": "appgwfp80",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwhttplistener",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener",
+ "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/appgwfp80"
+ },
+ "protocol": "Http"
+ }
+ }
+ ],
+ "urlPathMaps": [
+ {
+ "name": "pathMap1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultBackendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "defaultBackendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "defaultRewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ },
+ "pathRules": [
+ {
+ "name": "apiPaths",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "paths": [
+ "/api", "/v1/api"
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ },
+ {
+ "name": "appgwPathBasedRule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "PathBasedRouting",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener"
+ },
+ "urlPathMap": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1"
+ }
+ }
+ }
+ ],
+ "rewriteRuleSets": [
+ {
+ "name": "rewriteRuleSet1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rewriteRules": [
+ {
+ "name": "Set X-Forwarded-For",
+ "ruleSequence": 102,
+ "conditions": [
+ {
+ "variable": "http_req_Authorization",
+ "pattern": "^Bearer",
+ "ignoreCase": true,
+ "negate": false
+ }
+ ],
+ "actionSet": {
+ "requestHeaderConfigurations": [
+ {
+ "headerName": "X-Forwarded-For",
+ "headerValue": "{var_remote-addr}"
+ }
+ ],
+ "responseHeaderConfigurations": [
+ {
+ "headerName": "Strict-Transport-Security",
+ "headerValue": "max-age=31536000"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwfp80",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwhttplistener",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener",
+ "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/appgwfp80"
+ },
+ "protocol": "Http"
+ }
+ }
+ ],
+ "urlPathMaps": [
+ {
+ "name": "pathMap1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultBackendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "defaultBackendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "defaultRewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ },
+ "pathRules": [
+ {
+ "name": "apiPaths",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "paths": [
+ "/api", "/v1/api"
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ },
+ {
+ "name": "appgwPathBasedRule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "PathBasedRouting",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener"
+ },
+ "urlPathMap": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1"
+ }
+ }
+ }
+ ],
+ "rewriteRuleSets": [
+ {
+ "name": "rewriteRuleSet1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rewriteRules": [
+ {
+ "name": "Set X-Forwarded-For",
+ "ruleSequence": 102,
+ "conditions": [
+ {
+ "variable": "http_req_Authorization",
+ "pattern": "^Bearer",
+ "ignoreCase": true,
+ "negate": false
+ }
+ ],
+ "actionSet": {
+ "requestHeaderConfigurations": [
+ {
+ "headerName": "X-Forwarded-For",
+ "headerValue": "{var_remote-addr}"
+ }
+ ],
+ "responseHeaderConfigurations": [
+ {
+ "headerName": "Strict-Transport-Security",
+ "headerValue": "max-age=31536000"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "probes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayDelete.json
new file mode 100644
index 000000000000..675d0a7100be
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayGet.json
new file mode 100644
index 000000000000..96d935a5e990
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayGet.json
@@ -0,0 +1,251 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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
+ }
+ },
+ {
+ "name": "appgwfp80",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/frontendPorts/appgwfp80",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "port": 80
+ }
+ }
+ ],
+ "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
+ }
+ },
+ {
+ "name": "appgwhttplistener",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener",
+ "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/appgwfp80"
+ },
+ "protocol": "Http"
+ }
+ }
+ ],
+ "urlPathMaps": [
+ {
+ "name": "pathMap1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultBackendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendAddressPools/appgwpool"
+ },
+ "defaultBackendHttpSettings": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/backendHttpSettingsCollection/appgwbhs"
+ },
+ "defaultRewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ },
+ "pathRules": [
+ {
+ "name": "apiPaths",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1/pathRules/apiPaths",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "paths": [
+ "/api", "/v1/api"
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "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"
+ },
+ "rewriteRuleSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1"
+ }
+ }
+ },
+ {
+ "name": "appgwPathBasedRule",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/requestRoutingRules/appgwPathBasedRule",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ruleType": "PathBasedRouting",
+ "httpListener": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/httpListeners/appgwhttplistener"
+ },
+ "urlPathMap": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/urlPathMaps/pathMap1"
+ }
+ }
+ }
+ ],
+ "rewriteRuleSets": [
+ {
+ "name": "rewriteRuleSet1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationGateways/appgw/rewriteRuleSets/rewriteRuleSet1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "rewriteRules": [
+ {
+ "name": "Set X-Forwarded-For",
+ "ruleSequence": 102,
+ "conditions": [
+ {
+ "variable": "http_req_Authorization",
+ "pattern": "^Bearer",
+ "ignoreCase": true,
+ "negate": false
+ }
+ ],
+ "actionSet": {
+ "requestHeaderConfigurations": [
+ {
+ "headerName": "X-Forwarded-For",
+ "headerValue": "{var_remote-addr}"
+ }
+ ],
+ "responseHeaderConfigurations": [
+ {
+ "headerName": "Strict-Transport-Security",
+ "headerValue": "max-age=31536000"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "probes": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayList.json
new file mode 100644
index 000000000000..6caca13c3e12
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayList.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayListAll.json
new file mode 100644
index 000000000000..6a5053bae370
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayListAll.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayStart.json
new file mode 100644
index 000000000000..e52e677b0bac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayStop.json
new file mode 100644
index 000000000000..e52e677b0bac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationGatewayName": "appgw"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayUpdateTags.json
new file mode 100644
index 000000000000..409842289572
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationGatewayUpdateTags.json
@@ -0,0 +1,148 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupCreate.json
new file mode 100644
index 000000000000..e4edff71c6ae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupCreate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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-12-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupDelete.json
new file mode 100644
index 000000000000..1943af35b4b6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "applicationSecurityGroupName": "test-asg"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupGet.json
new file mode 100644
index 000000000000..befe6157d022
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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-12-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupList.json
new file mode 100644
index 000000000000..a949885965dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupList.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupListAll.json
new file mode 100644
index 000000000000..1ffb2e1635e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..45865bd50047
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ApplicationSecurityGroupUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "applicationSecurityGroupName" : "test-asg",
+ "location": "westus",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-asg",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/applicationSecurityGroups/test-asg",
+ "type" : "Microsoft.Network/applicationSecurityGroups",
+ "location" : "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AvailableDelegationsResourceGroupGet.json
new file mode 100644
index 000000000000..c15e73cc32e8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AvailableDelegationsResourceGroupGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "location": "regionName",
+ "subscriptionId" : "subId",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "Microsoft.Provider.resourceType",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/availableDelegations/Microsoft.Provider.resourceType",
+ "type": "Microsoft.Network/availableDelegations",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": [
+ "Microsoft.Network/resource/action"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AvailableDelegationsSubscriptionGet.json
new file mode 100644
index 000000000000..e3f1ea4d5fbb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AvailableDelegationsSubscriptionGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "location": "regionName",
+ "subscriptionId" : "subId"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "Microsoft.Provider.resourceType",
+ "id": "/subscriptions/subId/providers/Microsoft.Network/availableDelegations/Microsoft.Provider.resourceType",
+ "type": "Microsoft.Network/availableDelegations",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": [
+ "Microsoft.Network/resource/action"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallDelete.json
new file mode 100644
index 000000000000..879051aa8f86
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "azureFirewallName" : "azurefirewall"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallFqdnTagsListBySubscription.json
new file mode 100644
index 000000000000..0e42982e8aa6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallFqdnTagsListBySubscription.json
@@ -0,0 +1,28 @@
+{
+ "parameters":{
+ "api-version":"2018-12-01",
+ "subscriptionId":"subid"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":"azfwfqdntag",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewallFqdnTags/azfwfqdntag",
+ "type":"Microsoft.Network/azureFirewallFqdnTags",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "fqdnTagName":"azfwfqdntag"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallGet.json
new file mode 100644
index 000000000000..95b1899e175a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallGet.json
@@ -0,0 +1,129 @@
+{
+ "parameters":{
+ "api-version": "2018-12-01",
+ "subscriptionId":"subid",
+ "resourceGroupName":"rg1",
+ "azureFirewallName":"azurefirewall"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "threatIntelMode": "Alert",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallListByResourceGroup.json
new file mode 100644
index 000000000000..035f2d0c1130
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallListByResourceGroup.json
@@ -0,0 +1,132 @@
+{
+ "parameters":{
+ "api-version": "2018-12-01",
+ "subscriptionId":"subid",
+ "resourceGroupName":"rg1"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "threatIntelMode": "Alert",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallListBySubscription.json
new file mode 100644
index 000000000000..0a268c0e1063
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallListBySubscription.json
@@ -0,0 +1,131 @@
+{
+ "parameters":{
+ "api-version": "2018-12-01",
+ "subscriptionId":"subid"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "threatIntelMode": "Alert",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallPut.json
new file mode 100644
index 000000000000..d4a570a5e441
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/AzureFirewallPut.json
@@ -0,0 +1,355 @@
+{
+ "parameters":{
+ "api-version": "2018-12-01",
+ "subscriptionId":"subid",
+ "resourceGroupName":"rg1",
+ "azureFirewallName":"azurefirewall",
+ "parameters":{
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "threatIntelMode": "Alert",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "properties":{
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "threatIntelMode": "Alert",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "201":{
+ "body":{
+ "name":"azurefirewall",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azurefirewall",
+ "type":"Microsoft.Network/azureFirewalls",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "location":"West US",
+ "tags":{
+ "key1":"value1"
+ },
+ "properties":{
+ "provisioningState":"Succeeded",
+ "threatIntelMode": "Alert",
+ "ipConfigurations":[
+ {
+ "name":"azureFirewallIpConfiguration",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/azureFirewalls/azfirewallgw/ipConfigurations/azureFirewallIpConfiguration",
+ "etag":"w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties":{
+ "provisioningState":"Succeeded",
+ "privateIPAddress":"10.0.0.0",
+ "subnet":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/AzureFirewallSubnet"
+ },
+ "publicIPAddress":{
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName"
+ }
+ }
+ }
+ ],
+ "applicationRuleCollections":[
+ {
+ "name":"apprulecoll",
+ "properties":{
+ "priority":110,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"rule1",
+ "description":"Deny inbound rule",
+ "protocols":[
+ {
+ "protocolType":"Https",
+ "port":443
+ }
+ ],
+ "targetFqdns":[
+ "www.test.com"
+ ],
+ "sourceAddresses":[
+ "216.58.216.164",
+ "10.0.0.0/24"
+ ]
+ }
+ ]
+ }
+ }
+ ],
+ "natRuleCollections":[
+ {
+ "name":"natrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Dnat",
+ "rules":[
+ {
+ "name":"DNAT-HTTPS-traffic",
+ "description":"D-NAT all outbound web traffic for inspection",
+ "sourceAddresses":[
+ "*"
+ ],
+ "destinationAddresses":[
+ "1.2.3.4"
+ ],
+ "destinationPorts":[
+ "443"
+ ],
+ "protocols":[
+ "TCP"
+ ],
+ "translatedAddress": "1.2.3.5",
+ "translatedPort": "8443"
+ }
+ ]
+ }
+ }
+ ],
+ "networkRuleCollections":[
+ {
+ "name":"netrulecoll",
+ "properties":{
+ "priority":112,
+ "action":"Deny",
+ "rules":[
+ {
+ "name":"L4-traffic",
+ "description":"Block traffic based on source IPs and ports",
+ "sourceAddresses":[
+ "192.168.1.1-192.168.1.12",
+ "10.1.4.12-10.1.4.255"
+ ],
+ "destinationPorts":[
+ "443-444",
+ "8443"
+ ],
+ "destinationAddresses":[
+ "*"
+ ],
+ "protocols":[
+ "TCP"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/CheckDnsNameAvailability.json
new file mode 100644
index 000000000000..62eb2746c6fc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/CheckDnsNameAvailability.json
@@ -0,0 +1,15 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "location" : "westus",
+ "domainNameLabel" : "testdns"
+ },
+ "responses" : {
+ "200" : {
+ "body": {
+ "available": false
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyCreate.json
new file mode 100644
index 000000000000..bd505b20bced
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "protocolCustomSettings": [
+ {
+ "protocol": "Tcp"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [],
+ "protocolCustomSettings": [
+ {
+ "protocol": "Tcp", "triggerRateOverride": "20000"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [],
+ "protocolCustomSettings": [
+ {
+ "protocol": "Tcp", "triggerRateOverride": "20000"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyDelete.json
new file mode 100644
index 000000000000..d01da77a0a54
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyDelete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyGet.json
new file mode 100644
index 000000000000..bc8d4e63e4c7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyUpdateTags.json
new file mode 100644
index 000000000000..971d20ebea64
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosCustomPolicyUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosCustomPolicyName": "test-ddos-custom-policy",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-ddos-custom-policy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosCustomPolicies/test-ddos-custom-policy",
+ "type": "Microsoft.Network/ddosCustomPolicies",
+ "location": "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "publicIPAddresses": [],
+ "protocolCustomSettings": [
+ {
+ "protocol": "Tcp", "triggerRateOverride": "20000"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanCreate.json
new file mode 100644
index 000000000000..dd36413689ea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan",
+ "parameters": {
+ "location": "westus",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanDelete.json
new file mode 100644
index 000000000000..0f842b1c228f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanGet.json
new file mode 100644
index 000000000000..26a4fa5a508e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "ddosProtectionPlanName": "test-plan"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-plan",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanList.json
new file mode 100644
index 000000000000..966276628db8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1",
+ "name": "plan1",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2",
+ "name": "plan2",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanListAll.json
new file mode 100644
index 000000000000..db0059828a3e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DdosProtectionPlanListAll.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1",
+ "name": "plan1",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet1"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2",
+ "name": "plan2",
+ "type": "Microsoft.Network/ddosProtectionPlans",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworks": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet2"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet3"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DefaultSecurityRuleGet.json
new file mode 100644
index 000000000000..367978d0687b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DefaultSecurityRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-12-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-12-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DefaultSecurityRuleList.json
new file mode 100644
index 000000000000..f84a12d4f472
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/DefaultSecurityRuleList.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-12-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-12-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/EndpointServicesList.json
new file mode 100644
index 000000000000..810497fa9e0f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/EndpointServicesList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2018-12-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitARPTableList.json
new file mode 100644
index 000000000000..ed91df72b5c8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitARPTableList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "age": 0,
+ "interface": "Microsoft",
+ "ipAddress": "IPAddress",
+ "macAddress": "macAddress"
+ }
+ ]
+ },
+ "202": {
+ "value": [
+ {
+ "age": 0,
+ "interface": "Microsoft",
+ "ipAddress": "IPAddress",
+ "macAddress": "macAddress"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationCreate.json
new file mode 100644
index 000000000000..560ba85516e2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters":{
+ "circuitName":"circuitName",
+ "resourceGroupName":"rg1",
+ "authorizationName":"authorizatinName",
+ "api-version": "2018-12-01",
+ "subscriptionId":"subid",
+ "authorizationParameters":{
+ "properties": {
+ "authorizationKey": "authKey",
+ "authorizationUseStatus":"Available"
+ }
+ }
+ },
+ "responses":{
+ "201":{
+ "body":{
+ "name":"authorizationName",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName",
+ "etag":"W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"",
+ "properties":{
+ "provisioningState":"Updating",
+ "authorizationUseStatus":"Available"
+ }
+ }
+ },
+ "200":{
+ "body":{
+ "name":"authorizationName",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/authorizations/authorizationName",
+ "etag":"W/\"e22dd4b2-4c24-44cf-b702-70a472b62914\"",
+ "properties":{
+ "provisioningState":"Updating",
+ "authorizationUseStatus":"Available"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationDelete.json
new file mode 100644
index 000000000000..9f6b013e9b94
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters":{
+ "circuitName":"circuitName",
+ "resourceGroupName":"rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId":"subid",
+ "authorizationName":"authorizationName"
+ },
+ "responses":{
+ "200":{
+
+ },
+ "202":{
+
+ },
+ "204":{
+
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationGet.json
new file mode 100644
index 000000000000..00bc1ef4afef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "authorizationName": "authorizationName"
+ },
+ "responses": {
+ "200": {
+ "name": "MyAuthorization1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authKey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationList.json
new file mode 100644
index 000000000000..313f7992a3cd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitAuthorizationList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "MyAuthorization1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authKey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionCreate.json
new file mode 100644
index 000000000000..8a29b1f3cb0e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionCreate.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering",
+ "type": "Microsoft.Network/expressRouteCircuits/peerings/connections",
+ "expressRouteCircuitConnectionParameters": {
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/29"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionDelete.json
new file mode 100644
index 000000000000..ee216eab7519
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering",
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionGet.json
new file mode 100644
index 000000000000..1169094fd2e6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionList.json
new file mode 100644
index 000000000000..2946b967082e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitConnectionList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "connectionName": "circuitConnectionUSAUS",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid1",
+ "circuitName": "ExpressRouteARMCircuitA",
+ "peeringName": "AzurePrivatePeering"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSAUS",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSAUS",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/dedharcktpeer/providers/Microsoft.Network/expressRouteCircuits/dedharcktremote/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "946a1918-b7a2-4917-b43c-8c4cdaee006a",
+ "addressPrefix": "10.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuitA/peerings/AzurePrivatePeering/connections/circuitConnectionUSEUR",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "name": "circuitConnectionUSEUR",
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharcktinit/providers/Microsoft.Network/expressRouteCircuits/dedharcktlocal/peerings/AzurePrivatePeering"
+ },
+ "peerExpressRouteCircuitPeering": {
+ "id": "/subscriptions/subid1/resourceGroups/dedharckteurope/providers/Microsoft.Network/expressRouteCircuits/dedharcktams/peerings/AzurePrivatePeering"
+ },
+ "addressPrefix": "20.0.0.0/24",
+ "circuitConnectionStatus": "Connected",
+ "provisioningState":"Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitCreate.json
new file mode 100644
index 000000000000..dbbcb75bce83
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitCreate.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ },
+ "properties": {
+ "authorizations": [],
+ "peerings": [],
+ "allowClassicOperations": false,
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ }
+ },
+ "location": "West US"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "circuitName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "circuitName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
new file mode 100644
index 000000000000..e4aa8a0a91c1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "circuitName": "expressRouteCircuit1",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Premium_MeteredData",
+ "tier": "Premium",
+ "family": "MeteredData"
+ },
+ "properties": {
+ "expressRoutePort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName"
+ },
+ "bandwidthInGbps":10
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "expressRouteCircuit1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "expressRoutePort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName"
+ },
+ "bandwidthInGbps":10,
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "20",
+ "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b",
+ "serviceProviderProvisioningState": "Provisioned"
+ },
+ "sku": {
+ "name": "Premium_MeteredData",
+ "tier": "Premium",
+ "family": "MeteredData"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "expressRouteCircuit1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/expressRouteCircuit1",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "expressRoutePort": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName"
+ },
+ "bandwidthInGbps":10,
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "20",
+ "serviceKey": "d281f746-ee01-4d00-8b0a-edec4833772b",
+ "serviceProviderProvisioningState": "Provisioned"
+ },
+ "sku": {
+ "name": "Premium_MeteredData",
+ "tier": "Premium",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitDelete.json
new file mode 100644
index 000000000000..e98c93f1fdc1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitGet.json
new file mode 100644
index 000000000000..188e317482c8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "circuitName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peerings": [],
+ "authorizations": [],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "serviceKey": "a1410692-0000-4ceb-b94a-b90b94d398d1",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitListByResourceGroup.json
new file mode 100644
index 000000000000..9e371ac896ce
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitListByResourceGroup.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "circuitName1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName1",
+ "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "262effd3-248d-4754-9068-0a89260dd918",
+ "peerings": [],
+ "authorizations": [
+ {
+ "name": "MyAuthorization1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1",
+ "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authkey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "113",
+ "serviceKey": "a1410692-ed3b-4ceb-b94a-b90b95d398d1",
+ "serviceProviderProvisioningState": "Provisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ },
+ {
+ "name": "circuitName2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "47853fd2-9261-4670-b7c3-2debcf9b88da",
+ "peerings": [],
+ "authorizations": [
+ {
+ "name": "MyAuthorization2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2/authorizations/MyAuthorization2",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authkey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "",
+ "serviceKey": "6569625a-9ba4-498b-9719-14d778eef609",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitListBySubscription.json
new file mode 100644
index 000000000000..a6e60a4436ed
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitListBySubscription.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "circuitName1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName1",
+ "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "262effd3-248d-4754-9068-0a89260dd918",
+ "peerings": [],
+ "authorizations": [
+ {
+ "name": "MyAuthorization1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/authorizations/MyAuthorization1",
+ "etag": "W/\"832b28c3-f5fd-4d2a-a2cb-6e4a2fe452b3\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authkey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "113",
+ "serviceKey": "a1410692-ed3b-4ceb-b94a-b90b95d398d1",
+ "serviceProviderProvisioningState": "Provisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ },
+ {
+ "name": "circuitName2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "type": "Microsoft.Network/expressRouteCircuits",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "47853fd2-9261-4670-b7c3-2debcf9b88da",
+ "peerings": [],
+ "authorizations": [
+ {
+ "name": "MyAuthorization2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName2/authorizations/MyAuthorization2",
+ "etag": "W/\"e33c875f-48df-4a91-b7d3-eb95b5ddbb89\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "authorizationKey": "authkey",
+ "authorizationUseStatus": "Available"
+ }
+ }
+ ],
+ "serviceProviderProperties": {
+ "serviceProviderName": "providerName",
+ "peeringLocation": "peeringLocation",
+ "bandwidthInMbps": 200
+ },
+ "circuitProvisioningState": "Enabled",
+ "allowClassicOperations": false,
+ "gatewayManagerEtag": "",
+ "serviceKey": "6569625a-9ba4-498b-9719-14d778eef609",
+ "serviceProviderProvisioningState": "NotProvisioned"
+ },
+ "sku": {
+ "name": "Standard_MeteredData",
+ "tier": "Standard",
+ "family": "MeteredData"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringCreate.json
new file mode 100644
index 000000000000..53715376e5c9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringCreate.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "vlanId": 200,
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ },
+ "expressRouteConnection": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ },
+ "expressRouteConnection": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringDelete.json
new file mode 100644
index 000000000000..9292fa97ca6d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringGet.json
new file mode 100644
index 000000000000..383f2ef6747d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "peeringName": "MicrosoftPeering"
+ },
+ "responses": {
+ "200": {
+ "name": "MicrosoftPeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/MicrosoftPeering",
+ "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "MicrosoftPeering",
+ "azureASN": 12076,
+ "peerASN": 100,
+ "primaryPeerAddressPrefix": "123.0.0.0/30",
+ "secondaryPeerAddressPrefix": "123.0.0.4/30",
+ "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A",
+ "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A",
+ "state": "Enabled",
+ "vlanId": 300,
+ "gatewayManagerEtag": "103",
+ "lastModifiedBy": "Customer",
+ "microsoftPeeringConfig": {
+ "advertisedPublicPrefixes": [
+ "123.1.0.0/24"
+ ],
+ "advertisedCommunities": [],
+ "advertisedPublicPrefixesState": "ValidationNeeded",
+ "customerASN": 23,
+ "legacyMode": 0,
+ "routingRegistryName": "ARIN"
+ },
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled",
+ "microsoftPeeringConfig": {
+ "advertisedPublicPrefixes": [
+ "3FFE:FFFF:0:CD31::/120"
+ ],
+ "advertisedCommunities": [],
+ "advertisedPublicPrefixesState": "ValidationNeeded",
+ "customerASN": 23,
+ "legacyMode": 0,
+ "routingRegistryName": "ARIN"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringList.json
new file mode 100644
index 000000000000..24b5e7393b92
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringList.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "MicrosoftPeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/MicrosoftPeering",
+ "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "MicrosoftPeering",
+ "azureASN": 12076,
+ "peerASN": 100,
+ "primaryPeerAddressPrefix": "123.0.0.0/30",
+ "secondaryPeerAddressPrefix": "123.0.0.4/30",
+ "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A",
+ "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A",
+ "state": "Enabled",
+ "vlanId": 300,
+ "gatewayManagerEtag": "103",
+ "lastModifiedBy": "Customer",
+ "microsoftPeeringConfig": {
+ "advertisedPublicPrefixes": [
+ "123.1.0.0/24"
+ ],
+ "advertisedCommunities": [],
+ "advertisedPublicPrefixesState": "ValidationNeeded",
+ "customerASN": 23,
+ "legacyMode": 0,
+ "routingRegistryName": "ARIN"
+ },
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled",
+ "microsoftPeeringConfig": {
+ "advertisedPublicPrefixes": [
+ "3FFE:FFFF:0:CD31::/120"
+ ],
+ "advertisedCommunities": [],
+ "advertisedPublicPrefixesState": "ValidationNeeded",
+ "customerASN": 23,
+ "legacyMode": 0,
+ "routingRegistryName": "ARIN"
+ }
+ },
+ "expressRouteConnection": ""
+ }
+ },
+ {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering",
+ "etag": "W/\"b2a25b98-2e6d-4d46-87f2-089de5f6fdf9\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 100,
+ "primaryPeerAddressPrefix": "10.0.0.0/30",
+ "secondaryPeerAddressPrefix": "10.0.0.4/30",
+ "primaryAzurePort": "A51-TEST-06GMR-CIS-1-PRI-A",
+ "secondaryAzurePort": "A51-TEST-06GMR-CIS-2-SEC-A",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "103",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ },
+ "expressRouteConnection": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringStats.json
new file mode 100644
index 000000000000..396e867dd1ae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitPeeringStats.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName"
+ },
+ "responses": {
+ "200": {
+ "primaryBytesIn": 537408,
+ "primaryBytesOut": 44032550,
+ "secondaryBytesIn": 0,
+ "secondaryBytesOut": 39002500
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitRouteTableList.json
new file mode 100644
index 000000000000..6a537d42a261
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitRouteTableList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "network": "",
+ "nextHop": "",
+ "locPrf": "",
+ "weight": 0,
+ "path": ""
+ }
+ ]
+ },
+ "202": {
+ "value": [
+ {
+ "network": "",
+ "nextHop": "",
+ "locPrf": "",
+ "weight": 0,
+ "path": ""
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
new file mode 100644
index 000000000000..d30802679bac
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitRouteTableSummaryList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "peeringName": "peeringName",
+ "devicePath": "devicePath"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "neighbor": "100.65.171.1",
+ "v": 4,
+ "as": 9583,
+ "upDown": "never",
+ "statePfxRcd": "Idle"
+ }
+ ]
+ },
+ "202": {
+ "value": [
+ {
+ "neighbor": "100.65.171.1",
+ "v": 4,
+ "as": 9583,
+ "upDown": "never",
+ "statePfxRcd": "Idle"
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitStats.json
new file mode 100644
index 000000000000..5e4a8dfc373b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitStats.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "circuitName": "circuitName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "primaryBytesIn": 537408,
+ "primaryBytesOut": 44032550,
+ "secondaryBytesIn": 0,
+ "secondaryBytesOut": 39002500
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitUpdateTags.json
new file mode 100644
index 000000000000..88a5a7078ede
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCircuitUpdateTags.json
@@ -0,0 +1,48 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionCreate.json
new file mode 100644
index 000000000000..51d74b13ddb8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionCreate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "connectionName": "connectionName",
+ "putExpressRouteConnectionParameters": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "name": "connectionName",
+ "properties": {
+ "routingWeight": 2,
+ "authorizationKey": "authorizationKey",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 2
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid2/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 2
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionDelete.json
new file mode 100644
index 000000000000..d63d65e2407b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "connectionName": "connectionName",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionGet.json
new file mode 100644
index 000000000000..2e6528f39d42
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "connectionName": "connectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 1
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionList.json
new file mode 100644
index 000000000000..845c61a8384e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteConnectionList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "resourceGroupName",
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "authorizationKey",
+ "routingWeight": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
new file mode 100644
index 000000000000..621efbdb2968
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "peeringParameters": {
+ "properties": {
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "vlanId": 200,
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-Boydton1DC/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
new file mode 100644
index 000000000000..084b20839e48
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ },
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
new file mode 100644
index 000000000000..359c1d48a758
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-Boydton1DC/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
new file mode 100644
index 000000000000..20f33bf063c0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AzurePrivatePeering",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections//peerings/AzurePrivatePeering",
+ "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringType": "AzurePrivatePeering",
+ "azureASN": 12076,
+ "peerASN": 200,
+ "primaryPeerAddressPrefix": "192.168.16.252/30",
+ "secondaryPeerAddressPrefix": "192.168.18.252/30",
+ "primaryAzurePort": "",
+ "secondaryAzurePort": "",
+ "state": "Enabled",
+ "vlanId": 200,
+ "gatewayManagerEtag": "",
+ "lastModifiedBy": "Customer",
+ "ipv6PeeringConfig": {
+ "primaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::/126",
+ "secondaryPeerAddressPrefix": "3FFE:FFFF:0:CD30::4/126",
+ "state": "Enabled"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionGet.json
new file mode 100644
index 000000000000..96ac9f8fd9b9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "CrossConnection-SiliconValley",
+ "crossConnectionName" : ""
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnection-SiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "etag": "W/\"c0e6477e-8150-4d4f-9bf6-bb10e6acb63a\"",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionList.json
new file mode 100644
index 000000000000..0173a6b63e04
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
new file mode 100644
index 000000000000..98a6177d8966
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSilicon-Valley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionUpdate.json
new file mode 100644
index 000000000000..6b83af829c5c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "CrossConnection-SiliconValley",
+ "crossConnectionName" : "",
+ "parameters": {
+ "properties": {
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "properties": {
+ "provisioningState": "Enabled",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionUpdateTags.json
new file mode 100644
index 000000000000..3d918b91f069
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionUpdateTags.json
@@ -0,0 +1,41 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "CrossConnection-SiliconValley",
+ "crossConnectionName" : "",
+ "crossConnectionParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "er1",
+ "id": "/subscriptions/subid/resourceGroups/CrossConnectionSiliconValley/providers/Microsoft.Network/expressRouteCrossConnections/",
+ "type": "Microsoft.Network/expressRouteCrossConnections",
+ "location": "brazilsouth",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Failed",
+ "expressRouteCircuit": {
+ "id": "/subscriptions/subid/resourceGroups/ertest/providers/Microsoft.Network/expressRouteCircuits/er1"
+ },
+ "peerings": [],
+ "peeringLocation": "SiliconValley",
+ "bandwidthInMbps": 1000,
+ "primaryAzurePort": "bvtazureixp01",
+ "secondaryAzurePort": "bvtazureixp01",
+ "sTag": 2,
+ "serviceProviderProvisioningState": "NotProvisioned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionsArpTable.json
new file mode 100644
index 000000000000..3098ecee1594
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionsArpTable.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "age": 0,
+ "interface": "Microsoft" ,
+ "ipAddress": "192.116.14.254",
+ "macAddress": "885a.9269.9110"
+ }
+ ]
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionsRouteTable.json
new file mode 100644
index 000000000000..55df363b2a30
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionsRouteTable.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "network": "10.6.0.0/16",
+ "nextHop": "10.6.1.12" ,
+ "locPrf": "",
+ "weight": 0,
+ "path": "65514"
+ },
+ {
+ "network": "10.7.0.0/16",
+ "nextHop": "10.7.1.13" ,
+ "locPrf": "",
+ "weight": 0,
+ "path": "65514"
+ }
+ ]
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
new file mode 100644
index 000000000000..cb024cde661d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "peeringName": "AzurePrivatePeering",
+ "crossConnectionName": "",
+ "resourceGroupName": "CrossConnection-SiliconValley",
+ "devicePath": "primary",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "neighbor": "10.6.1.112",
+ "asn": 65514,
+ "upDown": "1d14h",
+ "stateOrPrefixesReceived": "Active"
+ },
+ {
+ "neighbor": "10.6.1.113",
+ "asn": 65514,
+ "upDown": "1d14h",
+ "stateOrPrefixesReceived": "1"
+ }
+ ]
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayCreate.json
new file mode 100644
index 000000000000..7a0651b0d0b8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayCreate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "gateway-2",
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-12-01",
+ "putExpressRouteGatewayParameters": {
+ "name": "gateway-2",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "location": "westus",
+ "properties": {
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupId/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 3
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "gateway-2",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 3
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "gateway-2",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/gateway-2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 3
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayDelete.json
new file mode 100644
index 000000000000..c3403684f8f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayGet.json
new file mode 100644
index 000000000000..3ef81b929ab1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "expressRouteGatewayName": "expressRouteGatewayName",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "expressRouteGatewayName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ }
+ }
+ }
+ },
+ "404": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..d34bdb195416
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayListByResourceGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "resourceGroupName",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "expressRouteGatewayName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 2
+ }
+ },
+ "expressRouteConnections": [
+ {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d",
+ "routingWeight": 1
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayListBySubscription.json
new file mode 100644
index 000000000000..ae4462ebb48e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteGatewayListBySubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "expressRouteGatewayName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "westus",
+ "type": "Microsoft.Network/expressRouteGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/virtualHubs/virtualHubName"
+ },
+ "autoScaleConfiguration": {
+ "bounds": {
+ "min": 2
+ }
+ },
+ "expressRouteConnections": [
+ {
+ "name": "connectionName",
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteGateways/expressRouteGatewayName/expressRouteConnections/connectionName",
+ "properties": {
+ "provisioningState": "Provisioned",
+ "expressRouteCircuitPeering": {
+ "id": "/subscriptions/subid/resourceGroups/resourceGroupName/providers/Microsoft.Network/expressRouteCircuits/circuitName/peerings/AzurePrivatePeering"
+ },
+ "authorizationKey": "f28e9c99-78d8-4248-a855-c54cf6beb99d",
+ "routingWeight": 1
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteLinkGet.json
new file mode 100644
index 000000000000..54eefacb569f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteLinkGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "linkName": "linkName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "linkName",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/linkName",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteLinkList.json
new file mode 100644
index 000000000000..775188ea311e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteLinkList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "link1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "name": "link2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortCreate.json
new file mode 100644
index 000000000000..b1ae80b51907
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortCreate.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "encapsulation": "QinQ"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortDelete.json
new file mode 100644
index 000000000000..51ccee484a56
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortGet.json
new file mode 100644
index 000000000000..8b1b79a384dd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortList.json
new file mode 100644
index 000000000000..a3ddeb36dfd8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortList.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortListByResourceGroup.json
new file mode 100644
index 000000000000..6a128d950a9e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortListByResourceGroup.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortUpdateLink.json
new file mode 100644
index 000000000000..e9192c69460e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortUpdateLink.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "encapsulation": "QinQ",
+ "links": [
+ {
+ "name":"link1",
+ "properties": {
+ "adminState": "Enabled"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Enabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Enabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortUpdateTags.json
new file mode 100644
index 000000000000..ededeeee1ea7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortUpdateTags.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "expressRoutePortName": "portName",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "portName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName",
+ "type": "Microsofot.Network/expressRoutePorts",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocation": "peeringLocationName",
+ "bandwidthInGbps": 100,
+ "provisionedBandwidthInGbps": 0.0,
+ "mtu": "1500",
+ "encapsulation": "QinQ",
+ "etherType": "0x8100",
+ "allocationDate": "Friday, July 1, 2018",
+ "links": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link1",
+ "name": "link1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router1",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId1",
+ "rackId": "rackId1",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/expressRoutePorts/portName/links/link2",
+ "name": "link2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "routerName": "router2",
+ "interfaceName": "Ethernet 0/0",
+ "patchPanelId": "patchPanelId2",
+ "rackId": "rackId2",
+ "connectorType": "LC",
+ "adminState": "Disabled"
+ }
+ }
+ ],
+ "circuits": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortsLocationGet.json
new file mode 100644
index 000000000000..b6ee991b4893
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortsLocationGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01",
+ "locationName": "locationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "locationName",
+ "id": "/subscriptions/subid/providers/Microsofot.Network/expressRoutePortsLocations/locationName",
+ "type": "Microsofot.Network/expressRoutePortsLocations",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "address": "123 Main Street, City, State, Zip",
+ "contact": "email@address.com",
+ "availableBandwidths": [
+ {
+ "offerName": "100 Gbps",
+ "valueInGbps": 100
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortsLocationList.json
new file mode 100644
index 000000000000..42ebb4566ed4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRoutePortsLocationList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "locationName",
+ "id": "/subscriptions/subid/providers/Microsofot.Network/expressRoutePortsLocations/locationName",
+ "type": "Microsofot.Network/expressRoutePortsLocations",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "address": "123 Main Street, City, State, Zip",
+ "contact": "email@address.com",
+ "availableBandwidths": [
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteProviderList.json
new file mode 100644
index 000000000000..6236fd40ae10
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ExpressRouteProviderList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "value": [
+ {
+ "name": "providerName",
+ "id": "/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/",
+ "type": "Microsoft.Network/expressRouteServiceProviders",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "peeringLocations": [
+ "peeringLocation1",
+ "peeringLocation2"
+ ],
+ "bandwidthsOffered": [
+ {
+ "offerName": "50Mbps",
+ "valueInMbps": 50
+ },
+ {
+ "offerName": "100Mbps",
+ "valueInMbps": 100
+ },
+ {
+ "offerName": "200Mbps",
+ "valueInMbps": 200
+ },
+ {
+ "offerName": "500Mbps",
+ "valueInMbps": 500
+ },
+ {
+ "offerName": "1Gbps",
+ "valueInMbps": 1000
+ },
+ {
+ "offerName": "2Gbps",
+ "valueInMbps": 2000
+ },
+ {
+ "offerName": "5Gbps",
+ "valueInMbps": 5000
+ },
+ {
+ "offerName": "10Gbps",
+ "valueInMbps": 10000
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionDelete.json
new file mode 100644
index 000000000000..b17864d95644
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionGet.json
new file mode 100644
index 000000000000..2032a9b6c100
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionList.json
new file mode 100644
index 000000000000..065c73926bc9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ },
+ {
+ "name": "connection2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionPut.json
new file mode 100644
index 000000000000..82bcc0452df3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/HubVirtualNetworkConnectionPut.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "connectionName": "connection1",
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "hubVirtualNetworkConnectionParameters": {
+ "properties": {
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ]
+ },
+ "201": {
+ "body": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/virtualHubVnetConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/vnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleCreate.json
new file mode 100644
index 000000000000..2bd0abaf1832
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleCreate.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-12-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,
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true,
+ "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-12-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleDelete.json
new file mode 100644
index 000000000000..09dad1832488
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "loadBalancerName": "lb1",
+ "inboundNatRuleName": "natRule1.1"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleGet.json
new file mode 100644
index 000000000000..2374f29e0568
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-12-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",
+ "enableTcpReset": true,
+ "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-12-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleList.json
new file mode 100644
index 000000000000..83dca711d387
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InboundNatRuleList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-12-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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true,
+ "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-12-01/examples/InterfaceEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointCreate.json
new file mode 100644
index 000000000000..8373bf62a86d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointCreate.json
@@ -0,0 +1,67 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subId",
+ "resourceGroupName": "rg1",
+ "interfaceEndpointName": "testIe",
+ "parameters": {
+ "properties": {
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testIe",
+ "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe",
+ "location" : "eastus",
+ "properties" : {
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "provisioningState": "Succeded",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "testIe",
+ "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointDelete.json
new file mode 100644
index 000000000000..b8b517c65709
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subId",
+ "resourceGroupName": "rg1",
+ "interfaceEndpointName": "testIe"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointGet.json
new file mode 100644
index 000000000000..0b80664f2244
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subId",
+ "resourceGroupName" : "rg1",
+ "interfaceEndpointName" : "testIe"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testIe",
+ "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/testIe",
+ "type" : "Microsoft.Network/interfaceEndpoints",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/testIe.nic.abcd1234"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointList.json
new file mode 100644
index 000000000000..53cdd89f1ad8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointList.json
@@ -0,0 +1,59 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subId",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie1",
+ "name": "ie1",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie2",
+ "name": "ie2",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "alsoUnique.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/otherResourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie2.nic.zyxw9876"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointListAll.json
new file mode 100644
index 000000000000..533815f5e3f6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/InterfaceEndpointListAll.json
@@ -0,0 +1,80 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subId"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie1",
+ "name": "ie1",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "uniqueIdentifier.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie1.nic.abcd1234"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/interfaceEndpoints/ie2",
+ "name": "ie2",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "alsoUnique.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/otherResourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/provders/Microsoft.Network/networkInterfaces/ie2.nic.zyxw9876"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/interfaceEndpoints/ie1",
+ "name": "ie1",
+ "type": "Microsoft.Network/interfaceEndpoints",
+ "location": "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "fqdn": "stillVeryUnique.fqdn.windows.net",
+ "owner": "User",
+ "endpointService": {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Provider/resourceType/resourceName"
+ },
+ "subnet": {
+ "id": "/subscriptions/subId/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet"
+ },
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg2/provders/Microsoft.Network/networkInterfaces/ie1.nic.efgh5463"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerBackendAddressPoolGet.json
new file mode 100644
index 000000000000..443e15c38ded
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerBackendAddressPoolGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "backendAddressPoolName": "backend",
+ "api-version": "2018-12-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-12-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerBackendAddressPoolList.json
new file mode 100644
index 000000000000..a517e6a54745
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerBackendAddressPoolList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-12-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-12-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreate.json
new file mode 100644
index 000000000000..c5b835ffb694
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreate.json
@@ -0,0 +1,339 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "location": "eastus",
+ "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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "inboundNatPools": [],
+ "outboundRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "eastus",
+ "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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "eastus",
+ "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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreateStandardSku.json
new file mode 100644
index 000000000000..91591bd9dddf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreateStandardSku.json
@@ -0,0 +1,336 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "location": "eastus",
+ "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": [],
+ "outboundRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "eastus",
+ "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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "eastus",
+ "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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreateWithInboundNatPool.json
new file mode 100644
index 000000000000..86da5eb0331f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreateWithInboundNatPool.json
@@ -0,0 +1,169 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "location": "eastus",
+ "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,
+ "enableTcpReset": true
+ },
+ "name": "test",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatPools/test"
+ }
+ ],
+ "outboundRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "eastus",
+ "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": [],
+ "outboundRules": [],
+ "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",
+ "enableTcpReset": true,
+ "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": "eastus",
+ "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": [],
+ "outboundRules": [],
+ "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",
+ "enableTcpReset": true,
+ "frontendIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/test"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreateWithZones.json
new file mode 100644
index 000000000000..0baf7f63bddb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerCreateWithZones.json
@@ -0,0 +1,336 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb",
+ "parameters": {
+ "location": "eastus",
+ "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": [],
+ "outboundRules": []
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "eastus",
+ "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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "lb",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb",
+ "type": "Microsoft.Network/loadBalancers",
+ "location": "eastus",
+ "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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerDelete.json
new file mode 100644
index 000000000000..dad774f8984a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "loadBalancerName" : "lb"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerFrontendIPConfigurationGet.json
new file mode 100644
index 000000000000..a187b745b0db
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerFrontendIPConfigurationGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "frontendIPConfigurationName": "frontend",
+ "api-version": "2018-12-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-12-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerFrontendIPConfigurationList.json
new file mode 100644
index 000000000000..c9699f083a29
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerFrontendIPConfigurationList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "resourceGroupName": "testrg",
+ "api-version": "2018-12-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-12-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerGet.json
new file mode 100644
index 000000000000..1398592bfc88
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerGet.json
@@ -0,0 +1,127 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerList.json
new file mode 100644
index 000000000000..3e2e5c82162b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerList.json
@@ -0,0 +1,142 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "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": [],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerListAll.json
new file mode 100644
index 000000000000..32af2a569163
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerListAll.json
@@ -0,0 +1,141 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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",
+ "enableTcpReset": true,
+ "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",
+ "enableTcpReset": true
+ }
+ }
+ ],
+ "outboundRules": [],
+ "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": [],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerLoadBalancingRuleGet.json
new file mode 100644
index 000000000000..ddc4c5d81633
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerLoadBalancingRuleGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "loadBalancingRuleName": "rule1",
+ "api-version": "2018-12-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",
+ "enableTcpReset": true,
+ "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-12-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerLoadBalancingRuleList.json
new file mode 100644
index 000000000000..e5438f929cc1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerLoadBalancingRuleList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2018-12-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",
+ "enableTcpReset": true,
+ "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-12-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerNetworkInterfaceListSimple.json
new file mode 100644
index 000000000000..27136b932464
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerNetworkInterfaceListSimple.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-12-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-12-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerNetworkInterfaceListVmss.json
new file mode 100644
index 000000000000..46488ccfe6d8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerNetworkInterfaceListVmss.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-12-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-12-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerOutboundRuleGet.json
new file mode 100644
index 000000000000..74a0efc8a7ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerOutboundRuleGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "outboundRuleName": "rule1",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend"
+ }
+ ],
+ "allocatedOutboundPorts": 64,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "enableTcpReset": true,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerOutboundRuleList.json
new file mode 100644
index 000000000000..c41a4ba1ecef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerOutboundRuleList.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb1",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "rule1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/outboundRules/rule1",
+ "etag": "W/\\\"00000000-0000-0000-0000-000000000000\\\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "frontendIPConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/frontendIPConfigurations/lbfrontend"
+ }
+ ],
+ "allocatedOutboundPorts": 64,
+ "idleTimeoutInMinutes": 15,
+ "protocol": "Tcp",
+ "enableTcpReset": true,
+ "backendAddressPool": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb1/backendAddressPools/bepool1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerProbeGet.json
new file mode 100644
index 000000000000..e75ee6300802
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerProbeGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "probeName": "probe1",
+ "api-version": "2018-12-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-12-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerProbeList.json
new file mode 100644
index 000000000000..5ea72c24c1dc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerProbeList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "loadBalancerName": "lb",
+ "api-version": "2018-12-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-12-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerUpdateTags.json
new file mode 100644
index 000000000000..ea99ee70e63b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LoadBalancerUpdateTags.json
@@ -0,0 +1,132 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayCreate.json
new file mode 100644
index 000000000000..6c7a0514ecc6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayCreate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName" : "localgw",
+ "parameters": {
+ "properties": {
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ },
+ "location": "Central US"
+ }
+ },
+ "responses" : {
+ "201" : {
+ "body" : {
+ "name": "localgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Updating",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ },
+ "200" : {
+ "body" : {
+ "name": "localgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Updating",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayDelete.json
new file mode 100644
index 000000000000..83564a13e6e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName" : "localgw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayGet.json
new file mode 100644
index 000000000000..3ba11f80833c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "localNetworkGatewayName" : "localgw"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "localgw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayList.json
new file mode 100644
index 000000000000..fcf38bbf530d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "localgw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ },
+ {
+ "name": "localgw2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/localNetworkGateways",
+ "location": "eastus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.2.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..c6ed7c0ad2ad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/LocalNetworkGatewayUpdateTags.json
@@ -0,0 +1,38 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceCreate.json
new file mode 100644
index 000000000000..a5510d0387fb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceCreate.json
@@ -0,0 +1,99 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ }
+ }
+ }
+ ]
+ },
+ "location": "eastus"
+ }
+ },
+ "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-12-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceDelete.json
new file mode 100644
index 000000000000..efc87645f95f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-nic"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceEffectiveNSGList.json
new file mode 100644
index 000000000000..ee86db2f96dd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceEffectiveNSGList.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceEffectiveRouteTableList.json
new file mode 100644
index 000000000000..5819507ff0d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceEffectiveRouteTableList.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceGet.json
new file mode 100644
index 000000000000..84d0eb3fd2f4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceGet.json
@@ -0,0 +1,55 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceIPConfigurationGet.json
new file mode 100644
index 000000000000..075fbd6d642c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceIPConfigurationGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "ipConfigurationName": "ipconfig1",
+ "api-version": "2018-12-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"
+ }
+ ],
+ "virtualNetworkTaps": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/vTAP2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceIPConfigurationList.json
new file mode 100644
index 000000000000..8a39cad2288f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceIPConfigurationList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2018-12-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-12-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceList.json
new file mode 100644
index 000000000000..416683f0e4ff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceList.json
@@ -0,0 +1,90 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceListAll.json
new file mode 100644
index 000000000000..865a889b09e4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceListAll.json
@@ -0,0 +1,89 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceLoadBalancerList.json
new file mode 100644
index 000000000000..56ac17edc5b2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceLoadBalancerList.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "nic1",
+ "api-version": "2018-12-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"
+ }
+ }
+ }
+ ],
+ "outboundRules": [],
+ "inboundNatPools": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationCreate.json
new file mode 100644
index 000000000000..805a210a479f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationCreate.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2018-12-01",
+ "tapConfigurationParameters": {
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ }
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationDelete.json
new file mode 100644
index 000000000000..4900fd681253
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "test-networkinterface",
+ "tapConfigurationName": "test-tapconfiguration"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationGet.json
new file mode 100644
index 000000000000..41292ca435e3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "networkInterfaceName": "mynic",
+ "tapConfigurationName": "tapconfiguration1",
+ "api-version": "2018-12-01"
+ },
+ "responses": {
+ "200": {
+ "body":
+ {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationList.json
new file mode 100644
index 000000000000..c738db1378c0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceTapConfigurationList.json
@@ -0,0 +1,28 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "networkInterfaceName": "mynic"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "tapConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/networkInterfaces/mynic/tapConfigurations/tapConfiguration1",
+ "etag": "etag",
+ "type": "Microsoft.Network/networkInterfaces/tapConfigurations",
+ "properties": {
+ "virtualNetworkTap": {
+ "id": "/subscriptions/subid/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworkTaps/testvtap"
+ },
+ "provisioningState": "Succeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceUpdateTags.json
new file mode 100644
index 000000000000..aff624785b8c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkInterfaceUpdateTags.json
@@ -0,0 +1,55 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileCreateConfigOnly.json
new file mode 100644
index 000000000000..49a04352a066
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileCreateConfigOnly.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1",
+ "location": "westus",
+ "parameters": {
+ "properties": {
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "properties": {
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfig1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfig1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileDelete.json
new file mode 100644
index 000000000000..47605ea505c0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileGetConfigOnly.json
new file mode 100644
index 000000000000..2b53b7e58679
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileGetConfigOnly.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ },
+ {
+ "name": "ipconfigprofile2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ },
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileGetWithContainerNic.json
new file mode 100644
index 000000000000..d13a268d0dee
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileGetWithContainerNic.json
@@ -0,0 +1,203 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "networkProfile1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "networkProfile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ },
+ {
+ "name": "ipconfigprofile2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ],
+ "containerNetworkInterfaces": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ },
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ],
+ "containerNetworkInterfaces": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1"
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": [
+ {
+ "name": "containerGroup1_eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup1_eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup1_eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup1"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup2_eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup2_eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup2_eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup2"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup3_eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth0",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ },
+ {
+ "name": "containerGroup3_eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaces/containerGroup3_eth1",
+ "etag": "W/\"de9b89d2-83b0-4da3-b488-6ea8b0557edd\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "containerNetworkInterfaceConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1"
+ },
+ "container": {
+ "id": "/subscriptions/subid/resourceGroups/networkProfilesDemo/providers/Microsoft.ContainerInstance/containerGroups/containerGroup3"
+ },
+ "ipConfigurations": []
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaces"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileList.json
new file mode 100644
index 000000000000..eda9495b57f5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileList.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "name": "networkProfile1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ },
+ {
+ "name": "ipconfigprofile2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile2",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile2",
+ "name": "networkProfile2",
+ "properties": {
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileListAll.json
new file mode 100644
index 000000000000..397e381e9b25
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileListAll.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1",
+ "name": "networkProfile1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile2",
+ "name": "networkProfile2",
+ "properties": {
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth1",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile3",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth1/ipConfigurations/ipconfigprofile3",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileUpdateTags.json
new file mode 100644
index 000000000000..0135374a7ce9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkProfileUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "networkProfileName": "test-np",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "test-np",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-np",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "1570d8b6-ab8a-4ad2-81d6-d2799b429cbf",
+ "containerNetworkInterfaceConfigurations": [
+ {
+ "name": "eth0",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "ipConfigurations": [
+ {
+ "name": "ipconfigprofile1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1",
+ "etag": "W/\"4d705a71-752f-4e0a-8057-c02b125b1c08\"",
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations/ipConfigurations",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/networkProfileVnet/subnets/networkProfileSubnet1"
+ }
+ }
+ }
+ ]
+ },
+ "type": "Microsoft.Network/networkProfiles/containerNetworkInterfaceConfigurations"
+ }
+ ],
+ "containerNetworkInterfaces": []
+ },
+ "type": "Microsoft.Network/networkProfiles",
+ "location": "centraluseuap"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupCreate.json
new file mode 100644
index 000000000000..7283990d4de1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupCreate.json
@@ -0,0 +1,233 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "parameters": {
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "eastus",
+ "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": "eastus",
+ "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-12-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupCreateWithRule.json
new file mode 100644
index 000000000000..dc1b023bdfe7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupCreateWithRule.json
@@ -0,0 +1,282 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ }
+ }
+ ]
+ },
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg",
+ "type": "Microsoft.Network/networkSecurityGroups",
+ "location": "eastus",
+ "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": "eastus",
+ "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-12-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupDelete.json
new file mode 100644
index 000000000000..1d1195655d07
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupGet.json
new file mode 100644
index 000000000000..939bf5fd142d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupGet.json
@@ -0,0 +1,136 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupList.json
new file mode 100644
index 000000000000..58fbf10fabf5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupList.json
@@ -0,0 +1,231 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupListAll.json
new file mode 100644
index 000000000000..77eb8873a3c5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupListAll.json
@@ -0,0 +1,230 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupRuleCreate.json
new file mode 100644
index 000000000000..a37b2421f3aa
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupRuleCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupRuleDelete.json
new file mode 100644
index 000000000000..500eb3811575
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkSecurityGroupName" : "testnsg",
+ "securityRuleName": "rule1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupRuleGet.json
new file mode 100644
index 000000000000..c37b85bfcc46
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupRuleGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupRuleList.json
new file mode 100644
index 000000000000..2a3604a67cb5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupRuleList.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupUpdateTags.json
new file mode 100644
index 000000000000..1dd16e5d5040
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkSecurityGroupUpdateTags.json
@@ -0,0 +1,130 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherAvailableProvidersListGet.json
new file mode 100644
index 000000000000..86e2e394f934
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherAvailableProvidersListGet.json
@@ -0,0 +1,66 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherAzureReachabilityReportGet.json
new file mode 100644
index 000000000000..0d2b8de1037c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherAzureReachabilityReportGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorCreate.json
new file mode 100644
index 000000000000..76685a791e0d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorCreate.json
@@ -0,0 +1,70 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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" : {
+ "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"
+ }
+ },
+ "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"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorDelete.json
new file mode 100644
index 000000000000..6e82e507617f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "204" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorGet.json
new file mode 100644
index 000000000000..5c8bc43e93e1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorList.json
new file mode 100644
index 000000000000..b8d53a3c108d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorList.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorQuery.json
new file mode 100644
index 000000000000..85df0b9d9ec7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorQuery.json
@@ -0,0 +1,77 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "sourceStatus": "Active",
+ "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" : {
+ "sourceStatus": "Active",
+ "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" : []
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorStart.json
new file mode 100644
index 000000000000..c97f6edc30c6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorStop.json
new file mode 100644
index 000000000000..c97f6edc30c6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectionMonitorStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "connectionMonitorName" : "cm1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectivityCheck.json
new file mode 100644
index 000000000000..46241d462f50
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherConnectivityCheck.json
@@ -0,0 +1,79 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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" : "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
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherCreate.json
new file mode 100644
index 000000000000..b22c0cfb652c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "location" : "eastus",
+ "properties" : {
+ }
+ }
+ },
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ },
+ "201" : {
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherDelete.json
new file mode 100644
index 000000000000..ecf423742677
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "responses" : {
+ "202" : {},
+ "204" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherFlowLogConfigure.json
new file mode 100644
index 000000000000..026f7dd28f9c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherFlowLogConfigure.json
@@ -0,0 +1,35 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherFlowLogStatusQuery.json
new file mode 100644
index 000000000000..43a54dcd2e50
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherFlowLogStatusQuery.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherGet.json
new file mode 100644
index 000000000000..b083f8a49cc3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1"
+ },
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherIpFlowVerify.json
new file mode 100644
index 000000000000..00e4e779720c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherIpFlowVerify.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherList.json
new file mode 100644
index 000000000000..cc56f2a8e39c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherList.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ },
+ {
+ "name" : "nw2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "eastus",
+ "tags" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherListAll.json
new file mode 100644
index 000000000000..840d47777c8e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherListAll.json
@@ -0,0 +1,36 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "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" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ },
+ {
+ "name" : "nw2",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw2",
+ "etag" : "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type" : "Microsoft.Network/networkWatchers",
+ "location" : "westus",
+ "tags" : {},
+ "properties" : {
+ "provisioningState" : "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
new file mode 100644
index 000000000000..d42d14b7f8f2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json
@@ -0,0 +1,198 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "parameters" : {
+ "targetResourceId" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Compute/virtualMachines/vm1",
+ "profiles": [
+ {
+ "direction" : "Inbound",
+ "protocol" : "TCP",
+ "source" : "10.1.0.4",
+ "destination" : "12.11.12.14",
+ "destinationPort" : "12100"
+ }
+ ]
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "results": [
+ {
+ "profile": {
+ "direction": "Inbound",
+ "protocol": "TCP",
+ "source": "10.1.0.4",
+ "destination": "12.11.12.14",
+ "destinationPort": "12100"
+ },
+ "networkSecurityGroupResult": {
+ "securityRuleAccessResult": "Allow",
+ "evaluatedNetworkSecurityGroups": [
+ {
+ "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_Cleanuptool-Allow-100",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-101",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-102",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Deny-103",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ },
+ {
+ "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "202" : {
+ "body" : {
+ "results": [
+ {
+ "profile": {
+ "direction": "Inbound",
+ "protocol": "TCP",
+ "source": "10.1.0.4",
+ "destination": "12.11.12.14",
+ "destinationPort": "12100"
+ },
+ "networkSecurityGroupResult": {
+ "securityRuleAccessResult": "Allow",
+ "evaluatedNetworkSecurityGroups": [
+ {
+ "networkSecurityGroupId": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/networkSecurityGroups/nsg1",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/subnets/AppSubnet",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_Cleanuptool-Allow-100",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-101",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Allow-102",
+ "protocolMatched": true,
+ "sourceMatched": false,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_Cleanuptool-Deny-103",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": false
+ },
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ },
+ {
+ "networkSecurityGroupId": "/subscriptions/61cc8a98-a8be-4bfe-a04e-0b461f93fe35/resourceGroups/NwRgCentralUSEUAP_copy/providers/Microsoft.Network/networkSecurityGroups/AppNSG",
+ "appliedTo": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet/networkInterfaces/nic",
+ "matchedRule": {
+ "ruleName": "UserRule_fe_rule",
+ "action": "Allow"
+ },
+ "rulesEvaluationResult": [
+ {
+ "name": "UserRule_fe_rule",
+ "protocolMatched": true,
+ "sourceMatched": true,
+ "sourcePortMatched": true,
+ "destinationMatched": true,
+ "destinationPortMatched": true
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherNextHopGet.json
new file mode 100644
index 000000000000..657d35417bc9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherNextHopGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureCreate.json
new file mode 100644
index 000000000000..c23c4f56703c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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",
+ "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"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureDelete.json
new file mode 100644
index 000000000000..a8eddc282279
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "204" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureGet.json
new file mode 100644
index 000000000000..0000b3e0cc7a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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" : {
+ "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"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
new file mode 100644
index 000000000000..5460e5541081
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureQueryStatus.json
@@ -0,0 +1,31 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-09-07T12:35:24Z",
+ "packetCaptureStatus" : "Stopped",
+ "stopReason" : "TimeExceeded",
+ "packetCaptureError" : []
+ }
+ },
+ "202" : {
+ "body" : {
+ "name" : "pc1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/packetCaptures/pc1",
+ "captureStartTime" : "2016-09-07T12:35:24Z",
+ "packetCaptureStatus" : "Stopped",
+ "stopReason" : "TimeExceeded",
+ "packetCaptureError" : []
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureStop.json
new file mode 100644
index 000000000000..845402270880
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCaptureStop.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "networkWatcherName" : "nw1",
+ "packetCaptureName" : "pc1"
+ },
+ "responses" : {
+ "200" : {},
+ "202" : {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCapturesList.json
new file mode 100644
index 000000000000..7aaa6a4d49f5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherPacketCapturesList.json
@@ -0,0 +1,58 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherSecurityGroupViewGet.json
new file mode 100644
index 000000000000..710329090676
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherSecurityGroupViewGet.json
@@ -0,0 +1,141 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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" : {
+ "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//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//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" : {
+ "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//resourceGroups//providers/Microsoft.Network/networkSecurityGroups//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"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherTopologyGet.json
new file mode 100644
index 000000000000..dd56ed5ad229
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherTopologyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherTroubleshootGet.json
new file mode 100644
index 000000000000..5d869ebc0596
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherTroubleshootGet.json
@@ -0,0 +1,71 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherTroubleshootResultQuery.json
new file mode 100644
index 000000000000..9911d07b6457
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherTroubleshootResultQuery.json
@@ -0,0 +1,67 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherUpdateTags.json
new file mode 100644
index 000000000000..585490ec6f83
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/NetworkWatcherUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/OperationList.json
new file mode 100644
index 000000000000..a5ca28ca99d4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/OperationList.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2018-12-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"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayDelete.json
new file mode 100644
index 000000000000..3c3211c29adf
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..473a6e59ef53
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayGenerateVpnProfile.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "gatewayName" : "p2sVpnGateway1",
+ "parameters": {
+ "authenticationMethod": "EAPTLS"
+ }
+ },
+ "responses" : {
+ "202" : {
+ },
+ "200" : {
+ "body" : ""
+ }
+ }
+}
+
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayGet.json
new file mode 100644
index 000000000000..71d4b9f19393
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayList.json
new file mode 100644
index 000000000000..f542b0b14525
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayList.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ },
+ {
+ "name": "p2sVpnGateway2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.4.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..f542b0b14525
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayListByResourceGroup.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ },
+ {
+ "name": "p2sVpnGateway2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.4.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayPut.json
new file mode 100644
index 000000000000..66a966ada37c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayPut.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "p2SVpnGatewayParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 0,
+ "allocatedIpAddresses": [],
+ "totalIngressBytesTransferred": 0,
+ "totalEgressBytesTransferred": 0
+ }
+ }
+ },
+ "201": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 0,
+ "allocatedIpAddresses": [],
+ "totalIngressBytesTransferred": 0,
+ "totalEgressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..ebf60dd32fc7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnGatewayUpdateTags.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "gatewayName": "p2sVpnGateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "p2SVpnGatewayParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ },
+ "201": {
+ "name": "p2sVpnGateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/P2SvpnGateways/p2sVpnGateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/p2sVpnGateways",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "p2SVpnServerConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1"
+ },
+ "vpnClientAddressPool": {
+ "addressPrefixes": [
+ "101.3.0.0/16"
+ ]
+ },
+ "vpnGatewayScaleUnit": 1,
+ "vpnClientConnectionHealth": {
+ "vpnClientConnectionsCount": 2,
+ "allocatedIpAddresses": [
+ "1.1.1.1",
+ "2.2.2.2"
+ ],
+ "totalIngressBytesTransferred":2000,
+ "totalEgressBytesTransferred":3000
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationDelete.json
new file mode 100644
index 000000000000..22368230f0f1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "p2SVpnServerConfigurationName": "p2sVpnServerConfiguration1",
+ "virtualWanName": "virtualWan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationGet.json
new file mode 100644
index 000000000000..ff79ac6eaa20
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationGet.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "virtualWanName": "virtualWan1",
+ "p2SVpnServerConfigurationName": "p2sVpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "name": "p2sVpnServerConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations//p2sVpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRootCertificates/p2sVpnServerConfigVpnClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRootCertificates"
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRevokedCertificates/p2sVpnServerConfigVpnClientRevokedCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRevokedCertificates"
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCer1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusServerRootCertificates/p2sVpnServerConfigRadiusServerRootCer1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusServerRootCertificates"
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusClientRootCertificates/p2sVpnServerConfigRadiusClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusClientRootCertificates"
+ }]
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationList.json
new file mode 100644
index 000000000000..8a55755d3a98
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationList.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "virtualWanName": "virtualWan1",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "p2sVpnServerConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRootCertificates/p2sVpnServerConfigVpnClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRootCertificates"
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRevokedCertificates/VpnClientRevokedCert2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRevokedCertificates"
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusServerRootCertificates/p2sVpnServerConfigRadiusServerRootCert",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusServerRootCertificates"
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusClientRootCertificates/p2sVpnServerConfigRadiusClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusClientRootCertificates"
+ }]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationPut.json
new file mode 100644
index 000000000000..d98bc6fdbf1b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/P2SVpnServerConfigurationPut.json
@@ -0,0 +1,182 @@
+{
+ "parameters": {
+ "virtualWanName": "virtualWan1",
+ "p2SVpnServerConfigurationName": "p2sVpnServerConfiguration1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "p2SVpnServerConfigurationParameters": {
+ "properties": {
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "properties": {
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ }
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "properties": {
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCert1",
+ "properties": {
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ }
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "properties": {
+ "thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ }
+ }]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "p2sVpnServerConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations//p2sVpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRootCertificates/p2sVpnServerConfigVpnClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRootCertificates"
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRevokedCertificates/p2sVpnServerConfigVpnClientRevokedCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRevokedCertificates"
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusServerRootCertificates/p2sVpnServerConfigRadiusServerRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusServerRootCertificates"
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusClientRootCertificates/p2sVpnServerConfigRadiusClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusClientRootCertificates"
+ }]
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations"
+ },
+ "201": {
+ "name": "p2sVpnServerConfiguration1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations//p2sVpnServerConfiguration1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "vpnProtocols": [
+ "IkeV2"
+ ],
+ "vpnClientIpsecPolicies": [{
+ "saLifeTimeSeconds": 86472,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup14",
+ "pfsGroup": "PFS14"
+ }],
+ "p2SVpnServerConfigVpnClientRootCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRootCertificates/p2sVpnServerConfigVpnClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuN"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRootCertificates"
+ }],
+ "p2SVpnServerConfigVpnClientRevokedCertificates": [{
+ "name": "p2sVpnServerConfigVpnClientRevokedCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigVpnClientRevokedCertificates/p2sVpnServerConfigVpnClientRevokedCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigVpnClientRevokedCertificates"
+ }],
+ "radiusServerAddress": "8.9.9.9",
+ "radiusServerSecret":"123_abc",
+ "p2SVpnServerConfigRadiusServerRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusServerRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusServerRootCertificates/p2sVpnServerConfigRadiusServerRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicCertData": "MIIC5zCCAc+gAwIBAgIQErQ0Hk4aDJxIA+Q5RagB+jANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDDAtQMlNSb290Q2VydDAeFw0xNzEyMTQyMTA3MzhaFw0xODEyMTQyMTI3MzhaMBYxFDASBgNVBAMMC1AyU1Jvb3RDZXJ0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArP7/NQXmW7cQ/ZR1mv3Y3I29Lt7HTOqzo/1KUOoVH3NItbQIRAQbwKy3UWrOFz4eGNX2GWtNRMdCyWsKeqy9Ltsdfcm1IbKXkl84DFeU/ZacXu4Dl3xX3gV5du4TLZjEowJELyur11Ea2YcjPRQ/FzAF9/hGuboS1HZQEPLx4FdUs9OxCYOtc0MxBCwLfVTTRqarb0Ne+arNYd4kCzIhAke1nOyKAJBda5ZL+VHy3S5S8qGlD46jm8HXugmAkUygS4oIIXOmj/1O9sNAi3LN60zufSzCmP8Rm/iUGX+DHAGGiXxwZOKQLEDaZXKqoHjMPP0XudmSWwOIbyeQVrLhkwIDAQABozEwLzAOBgNVHQ8BAf8EBAMCAgQwHQYDVR0OBBYEFEfeNU2trYxNLF9ONmuJUsT13pKDMA0GCSqGSIb3DQEBCwUAA4IBAQBmM6RJzsGGipxyMhimHKN2xlkejhVsgBoTAhOU0llW9aUSwINJ9zFUGgI8IzUFy1VG776fchHp0LMRmPSIUYk5btEPxbsrPtumPuMH8EQGrS+Rt4pD+78c8H1fEPkq5CmDl/PKu4JoFGv+aFcE+Od0hlILstIF10Qysf++QXDolKfzJa/56bgMeYKFiju73loiRM57ns8ddXpfLl792UVpRkFU62LNns6Y1LKTwapmUF4IvIuAIzd6LZNOQng64LAKXtKnViJ1JQiXwf4CEzhgvAti3/ejpb3U90hsrUcyZi6wBv9bZLcAJRWpz61JNYliM1d1grSwQDKGXNQE4xuM"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusServerRootCertificates"
+ }],
+ "p2SVpnServerConfigRadiusClientRootCertificates": [{
+ "name": "p2sVpnServerConfigRadiusClientRootCert1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1/p2sVpnServerConfigurations/p2sVpnServerConfiguration1/p2sVpnServerConfigRadiusClientRootCertificates/p2sVpnServerConfigRadiusClientRootCert1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "Thumbprint": "83FFBFC8848B5A5836C94D0112367E16148A286F"
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations/p2sVpnServerConfigRadiusClientRootCertificates"
+ }]
+ },
+ "type": "Microsoft.Network/virtualWans/p2sVpnServerConfigurations"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressCreateCustomizedValues.json
new file mode 100644
index 000000000000..3bbfe483d3f9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressCreateCustomizedValues.json
@@ -0,0 +1,64 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "zones": [ "1" ],
+ "parameters": {
+ "properties": {
+ "publicIPAllocationMethod": "Static",
+ "idleTimeoutInMinutes": 10,
+ "publicIPAddressVersion": "IPv4"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "eastus",
+ "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" : "eastus",
+ "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-12-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressCreateDefaults.json
new file mode 100644
index 000000000000..3bfafc4e8410
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressCreateDefaults.json
@@ -0,0 +1,53 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "parameters": {
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "eastus",
+ "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" : "eastus",
+ "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-12-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressCreateDns.json
new file mode 100644
index 000000000000..455f2bb31d19
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressCreateDns.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip",
+ "parameters": {
+ "properties": {
+ "dnsSettings": {
+ "domainNameLabel": "dnslbl"
+ }
+ },
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testDNS-ip",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ip",
+ "location" : "eastus",
+ "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" : "eastus",
+ "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-12-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressDelete.json
new file mode 100644
index 000000000000..65533f368b75
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpAddressName": "test-ip"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressGet.json
new file mode 100644
index 000000000000..c70c098df7b4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressList.json
new file mode 100644
index 000000000000..2fd8bfa2a495
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressList.json
@@ -0,0 +1,60 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressListAll.json
new file mode 100644
index 000000000000..f71c928126a2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressListAll.json
@@ -0,0 +1,49 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressUpdateTags.json
new file mode 100644
index 000000000000..cc1a6cb7b22b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpAddressUpdateTags.json
@@ -0,0 +1,37 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateCustomizedValues.json
new file mode 100644
index 000000000000..a3d59ca33639
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateCustomizedValues.json
@@ -0,0 +1,54 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "zones": [ "1" ],
+ "parameters": {
+ "properties": {
+ "publicIPAddressVersion": "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "zones": [ "1" ],
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/test-ipprefix",
+ "location" : "westus",
+ "zones": [ "1" ],
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateDefaults.json
new file mode 100644
index 000000000000..209b0c55968d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixCreateDefaults.json
@@ -0,0 +1,43 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixDelete.json
new file mode 100644
index 000000000000..74be09c6a129
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixGet.json
new file mode 100644
index 000000000000..0c667dfdca20
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30,
+ "ipPrefix":"192.168.254.2/30",
+ "ipTags" : [
+ ],
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixList.json
new file mode 100644
index 000000000000..6a3e612bc00f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixList.json
@@ -0,0 +1,45 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30,
+ "ipPrefix":"40.85.154.2/30",
+ "ipTags" : [
+ {
+ "ipTagType" : "FirstPartyUsage",
+ "tag" : "SQL"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name" : "ipprefix03",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/ipprefix03",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":31,
+ "ipPrefix" : "40.85.153.2/31"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixListAll.json
new file mode 100644
index 000000000000..e5b0aa9262a8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30,
+ "ipPrefix":"41.85.154.247/30",
+ "publicIPAddresses": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ },
+ {
+ "name" : "ipprefix01",
+ "id" : "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/publicIPPrefixes/ipprefix01",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "ipPrefix" : "40.85.154.247/30",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ ]
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixUpdateTags.json
new file mode 100644
index 000000000000..3ae9a35d33f0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/PublicIpPrefixUpdateTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "publicIpPrefixName": "test-ipprefix",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-ipprefix",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/test-ipprefix",
+ "location" : "westus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "publicIPAddressVersion" : "IPv4",
+ "prefixLength":30
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type" : "Microsoft.Network/publicIPPrefixes"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterCreate.json
new file mode 100644
index 000000000000..6c46f6bc5347
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterCreate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-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-12-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterDelete.json
new file mode 100644
index 000000000000..ffc292bcad07
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterGet.json
new file mode 100644
index 000000000000..35e206dcb516
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-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-12-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterList.json
new file mode 100644
index 000000000000..883c154ed636
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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-12-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterListByResourceGroup.json
new file mode 100644
index 000000000000..f204f73ab5ba
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterListByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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-12-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleCreate.json
new file mode 100644
index 000000000000..0fc7083faa2a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-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-12-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleDelete.json
new file mode 100644
index 000000000000..37732af105a9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleGet.json
new file mode 100644
index 000000000000..017d8f29571c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "ruleName": "filterName",
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-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-12-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleListByRouteFilter.json
new file mode 100644
index 000000000000..83dc497e8d45
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleListByRouteFilter.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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-12-01/examples/RouteFilterRuleUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleUpdate.json
new file mode 100644
index 000000000000..b0085659fe94
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterRuleUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "ruleName": "ruleName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-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-12-01/examples/RouteFilterUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterUpdate.json
new file mode 100644
index 000000000000..d91aca95ed2b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteFilterUpdate.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "routeFilterName": "filterName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-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-12-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableCreate.json
new file mode 100644
index 000000000000..479b94fa0a18
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {
+ "location": "westus"
+ }
+ },
+ "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-12-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableCreateWithRoute.json
new file mode 100644
index 000000000000..e4fbb3651184
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableCreateWithRoute.json
@@ -0,0 +1,70 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "parameters": {
+ "properties": {
+ "disableBgpRoutePropagation": true,
+ "routes": [
+ {
+ "name": "route1",
+ "properties": {
+ "addressPrefix": "10.0.3.0/24",
+ "nextHopType": "VirtualNetworkGateway"
+ }
+ }
+ ]
+ },
+ "location": "westus"
+ }
+ },
+ "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-12-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableDelete.json
new file mode 100644
index 000000000000..96eb4aef7ed2
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableGet.json
new file mode 100644
index 000000000000..f8be2eca8030
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableList.json
new file mode 100644
index 000000000000..4c985f5f8cc0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableList.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableListAll.json
new file mode 100644
index 000000000000..f0160221ce20
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableListAll.json
@@ -0,0 +1,44 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableRouteCreate.json
new file mode 100644
index 000000000000..55f5f17bb7e7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableRouteCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableRouteDelete.json
new file mode 100644
index 000000000000..52428f839a88
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableRouteDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "routeTableName" : "testrt",
+ "routeName": "route1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableRouteGet.json
new file mode 100644
index 000000000000..151e1475142c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableRouteGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableRouteList.json
new file mode 100644
index 000000000000..334f09901798
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableRouteList.json
@@ -0,0 +1,34 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableUpdateTags.json
new file mode 100644
index 000000000000..f5f9f4093b67
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/RouteTableUpdateTags.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceCommunityList.json
new file mode 100644
index 000000000000..e442edab7d64
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceCommunityList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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-12-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyCreate.json
new file mode 100644
index 000000000000..8c51e1782d06
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyCreate.json
@@ -0,0 +1,41 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "parameters": {}
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy",
+ "type": "Microsoft.Network/ServiceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testpolicy",
+ "type": "Microsoft.Network/ServiceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
new file mode 100644
index 000000000000..e2ce36aa9642
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyCreateWithDefinition.json
@@ -0,0 +1,84 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "parameters": {
+ "properties": {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy",
+ "type": "Microsoft.Network/ServiceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testnsg",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ServiceEndpointPolicies/testpolicy",
+ "type": "Microsoft.Network/ServiceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionCreate.json
new file mode 100644
index 000000000000..f0f190833dbb
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionCreate.json
@@ -0,0 +1,52 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition",
+ "ServiceEndpointPolicyDefinitions": {
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testDefinition",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "rule1",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/rule1",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionDelete.json
new file mode 100644
index 000000000000..ac5fd2b4258c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionGet.json
new file mode 100644
index 000000000000..17afee0c150f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy",
+ "serviceEndpointPolicyDefinitionName": "testDefinition"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testDefinition",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionList.json
new file mode 100644
index 000000000000..e813c19011ce
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDefinitionList.json
@@ -0,0 +1,29 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "serviceEndpointPolicyName" : "testPolicy"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testDef",
+ "id":"/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy/serviceEndpointPolicyDefinitions/testDef",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDelete.json
new file mode 100644
index 000000000000..9aa0a116c5dd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "serviceEndpointPolicy1"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyGet.json
new file mode 100644
index 000000000000..5a67bf612b6f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testServiceEndpointPolicy"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testServiceEndpointPolicy",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location" : "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ }
+ }
+}
+
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyList.json
new file mode 100644
index 000000000000..99608caca3b0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyList.json
@@ -0,0 +1,65 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value" : [
+ {
+ "name" : "testServiceEndpointPolicy",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy",
+ "location" : "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ },
+ {
+ "name" : "testServiceEndpointPolicy1",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy1",
+ "location" : "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition1",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyListAll.json
new file mode 100644
index 000000000000..469bee30d1d1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyListAll.json
@@ -0,0 +1,66 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testPolicy",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition1",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ },
+ {
+ "name": "testPolicy1",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/serviceEndpointPolicies/testPolicy2",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location": "westus",
+ "properties":
+ {
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition2",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": [ ],
+ "provisioningState": "Succeeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyUpdateTags.json
new file mode 100644
index 000000000000..a0ae688c2588
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/ServiceEndpointPolicyUpdateTags.json
@@ -0,0 +1,47 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "serviceEndpointPolicyName": "testServiceEndpointPolicy",
+ "parameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "testServiceEndpointPolicy",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/serviceEndpointPolicies/testServiceEndpointPolicy",
+ "type": "Microsoft.Network/serviceEndpointPolicies",
+ "location" : "westus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "serviceEndpointPolicyDefinitions": [
+ {
+ "name": "StorageServiceEndpointPolicyDefinition",
+ "properties": {
+ "description": "Storage Service EndpointPolicy Definition",
+ "service": "Microsoft.Storage",
+ "serviceResources": [
+ "/subscriptions/subid1",
+ "/subscriptions/subid1/resourceGroups/storageRg",
+ "/subscriptions/subid1/resourceGroups/storageRg/providers/Microsoft.Storage/storageAccounts/stAccount"
+ ]
+ }
+ }
+ ],
+ "subnets": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetCreate.json
new file mode 100644
index 000000000000..45cc3e8376a6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetCreate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-12-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-12-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetCreateServiceEndpoint.json
new file mode 100644
index 000000000000..73dbb8ec7cea
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetCreateServiceEndpoint.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-12-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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetCreateWithDelegation.json
new file mode 100644
index 000000000000..c1c5fb1e6abd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetCreateWithDelegation.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-12-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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ },
+ "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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/subnet-test/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetDelete.json
new file mode 100644
index 000000000000..e554cee0d6b7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetGet.json
new file mode 100644
index 000000000000..771011ecd7ce
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetGet.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-12-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-12-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetGetWithDelegation.json
new file mode 100644
index 000000000000..085b2272d6b1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetGetWithDelegation.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subnetName": "subnet1",
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-12-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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetList.json
new file mode 100644
index 000000000000..12b3442fae1d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetname",
+ "resourceGroupName": "subnet-test",
+ "api-version": "2018-12-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-12-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetPrepareNetworkPolicies.json
new file mode 100644
index 000000000000..59a4601afd63
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/SubnetPrepareNetworkPolicies.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet",
+ "subnetName": "subnet1",
+ "prepareNetworkPoliciesRequestParameters": {
+ "serviceName": "Microsoft.Sql/managedInstances"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/UsageList.json
new file mode 100644
index 000000000000..ca21eaf093d7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/UsageList.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2018-12-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/outboundRulesPerLoadBalancer",
+ "limit": 5.0,
+ "name": {
+ "localizedValue": "Outbound Rules per Load Balancer",
+ "value": "outboundRulesPerLoadBalancer"
+ },
+ "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-12-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/UsageListSpacedLocation.json
new file mode 100644
index 000000000000..181d5e0f627b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/UsageListSpacedLocation.json
@@ -0,0 +1,335 @@
+{
+ "parameters": {
+ "location": "West US",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "currentValue": 12.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/VirtualNetworks",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Virtual Networks",
+ "value": "VirtualNetworks"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 1.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/StaticPublicIPAddresses",
+ "limit": 20.0,
+ "name": {
+ "localizedValue": "Static Public IP Addresses",
+ "value": "StaticPublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkSecurityGroups",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Network Security Groups",
+ "value": "NetworkSecurityGroups"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 12.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIPAddresses",
+ "limit": 60.0,
+ "name": {
+ "localizedValue": "Public IP Addresses",
+ "value": "PublicIPAddresses"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PublicIpPrefixes",
+ "limit": 2147483647.0,
+ "name": {
+ "localizedValue": "Public Ip Prefixes",
+ "value": "PublicIpPrefixes"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 2.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkInterfaces",
+ "limit": 24000.0,
+ "name": {
+ "localizedValue": "Network Interfaces",
+ "value": "NetworkInterfaces"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/LoadBalancers",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Load Balancers",
+ "value": "LoadBalancers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 3.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationGateways",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Application Gateways",
+ "value": "ApplicationGateways"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 5.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteTables",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Route Tables",
+ "value": "RouteTables"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RouteFilters",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Route Filters",
+ "value": "RouteFilters"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkWatchers",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "Network Watchers",
+ "value": "NetworkWatchers"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PacketCaptures",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Packet Captures",
+ "value": "PacketCaptures"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ApplicationSecurityGroups",
+ "limit": 500.0,
+ "name": {
+ "localizedValue": "Application Security Groups.",
+ "value": "ApplicationSecurityGroups"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/DdosProtectionPlans",
+ "limit": 1.0,
+ "name": {
+ "localizedValue": "DDoS Protection Plans.",
+ "value": "DdosProtectionPlans"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/ServiceEndpointPolicies",
+ "limit": 200.0,
+ "name": {
+ "localizedValue": "Service Endpoint Policies",
+ "value": "ServiceEndpointPolicies"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/NetworkIntentPolicies",
+ "limit": 200.0,
+ "name": {
+ "localizedValue": "Network Intent Policies",
+ "value": "NetworkIntentPolicies"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/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/West US/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/West US/usages/IPConfigurationsPerVirtualNetwork",
+ "limit": 16384.0,
+ "name": {
+ "localizedValue": "IP Configurations per Virtual Network",
+ "value": "IPConfigurationsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/PeeringsPerVirtualNetwork",
+ "limit": 50.0,
+ "name": {
+ "localizedValue": "Peerings per Virtual Network",
+ "value": "PeeringsPerVirtualNetwork"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkSecurityGroup",
+ "limit": 1000.0,
+ "name": {
+ "localizedValue": "Security rules per Network Security Group",
+ "value": "SecurityRulesPerNetworkSecurityGroup"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/SecurityRulesPerNetworkIntentPolicy",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Security rules per Network Intent Policy",
+ "value": "SecurityRulesPerNetworkIntentPolicy"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerNetworkIntentPolicy",
+ "limit": 100.0,
+ "name": {
+ "localizedValue": "Routes per Network Intent Policy",
+ "value": "RoutesPerNetworkIntentPolicy"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/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/West US/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/West US/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/West US/usages/OutboundRulesPerLoadBalancer",
+ "limit": 5.0,
+ "name": {
+ "localizedValue": "Outbound Rules per Load Balancer",
+ "value": "OutboundRulesPerLoadBalancer"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/usages/RoutesPerRouteTable",
+ "limit": 400.0,
+ "name": {
+ "localizedValue": "Routes per Route Table",
+ "value": "RoutesPerRouteTable"
+ },
+ "unit": "Count"
+ },
+ {
+ "currentValue": 0.0,
+ "id": "/subscriptions/subid/providers/Microsoft.Network/locations/West US/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/West US/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/West US/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/West US/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-12-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubDelete.json
new file mode 100644
index 000000000000..7c4d485da10a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubGet.json
new file mode 100644
index 000000000000..127eae6f4814
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub1",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.10.1.0/24"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubList.json
new file mode 100644
index 000000000000..087feca00c66
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub1",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/SpokeVnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "10.10.1.0/24"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection2",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsofot.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsofot.Network/virtualNetworks/SpokeVnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubListByResourceGroup.json
new file mode 100644
index 000000000000..b3b22fefce49
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubListByResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub1",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub1/hubVirtualNetworkConnections/connection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualNetworks/SpokeVnet1"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "10.10.1.0/24"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [
+ {
+ "name": "connection2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsofot.Network/virtualHubs/virtualHub2/hubVirtualNetworkConnections/connection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVirtualNetwork": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsofot.Network/virtualNetworks/SpokeVnet2"
+ },
+ "allowHubToRemoteVnetTransit": true,
+ "allowRemoteVnetToUseHubVnetGateways": false
+ }
+ }
+ ],
+ "addressPrefix": "210.10.1.0/24"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubPut.json
new file mode 100644
index 000000000000..58b4c6323b25
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubPut.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "virtualHubParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubUpdateTags.json
new file mode 100644
index 000000000000..d798d8ffc70c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualHubUpdateTags.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "virtualHubName": "virtualHub2",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "virtualHubParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "virtualHub2",
+ "type": "Microsoft.Network/virtualHubs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWans/virtualWan1"
+ },
+ "virtualNetworkConnections": [ ],
+ "addressPrefix": "10.168.0.0/24"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCheckIPAddressAvailability.json
new file mode 100644
index 000000000000..02ab5f011b8b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCheckIPAddressAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreate.json
new file mode 100644
index 000000000000..b1fdfa4e700e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreate.json
@@ -0,0 +1,56 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ }
+ },
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "eastus",
+ "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" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets" : [],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
new file mode 100644
index 000000000000..b77eb4f07fae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json
@@ -0,0 +1,121 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "vnet1",
+ "id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "eastus",
+ "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" : "eastus",
+ "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)"
+ ]
+ }
+ ],
+ "serviceEndpointPolicies": [
+ {
+ "provisioningState": "Succeeded",
+ "service": "Microsoft.Storage",
+ "locations": [
+ "eastus2(stage)",
+ "usnorth(stage)"
+ ]
+ }
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateServiceEndpoints.json
new file mode 100644
index 000000000000..74a4a4a89437
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateServiceEndpoints.json
@@ -0,0 +1,111 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "vnet1",
+ "id" : "/subscriptions/subid/resourceGroups/vnetTest/providers/Microsoft.Network/virtualNetworks/vnet1",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "eastus",
+ "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" : "eastus",
+ "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-12-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateSubnet.json
new file mode 100644
index 000000000000..8a1c791b6563
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateSubnet.json
@@ -0,0 +1,82 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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"
+ }
+ }
+ ]
+ },
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "eastus",
+ "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" : "eastus",
+ "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-12-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
new file mode 100644
index 000000000000..fd999d25a713
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json
@@ -0,0 +1,91 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "virtualNetworkName" : "test-vnet",
+ "parameters": {
+ "properties": {
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "name": "test-2",
+ "properties": {
+ "addressPrefixes": [
+ "10.0.0.0/28",
+ "10.0.1.0/28"
+ ]
+ }
+ }
+ ]
+ },
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-2",
+ "name": "test-2",
+ "properties": {
+ "addressPrefixes": [
+ "10.0.0.0/28",
+ "10.1.0.0/28"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "eastus",
+ "properties" : {
+ "provisioningState" : "Succeeded",
+ "addressSpace" : {
+ "addressPrefixes" : [
+ "10.0.0.0/16"
+ ]
+ },
+ "subnets": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-2",
+ "name": "test-2",
+ "properties": {
+ "addressPrefixes": [
+ "10.0.0.0/28",
+ "10.0.1.0/28"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
new file mode 100644
index 000000000000..0b082dd9c69c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkCreateSubnetWithDelegation.json
@@ -0,0 +1,114 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "properties": {
+ "serviceName": "Microsoft.Provider/resourceType"
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "location": "eastus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "eastus",
+ "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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name" : "test-vnet",
+ "id" : "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet",
+ "type" : "Microsoft.Network/virtualNetworks",
+ "location" : "eastus",
+ "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",
+ "delegations": [
+ {
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/test-1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }
+ ],
+ "purpose": ""
+ }
+ }
+ ],
+ "virtualNetworkPeerings" : []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkDelete.json
new file mode 100644
index 000000000000..46879ff9e983
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkName": "test-vnet"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionCreate.json
new file mode 100644
index 000000000000..cb6b0a23fad7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionCreate.json
@@ -0,0 +1,136 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "connS2S",
+ "parameters": {
+ "properties": {
+ "virtualNetworkGateway1": {
+ "properties": {
+ "ipConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ }
+ },
+ "name": "gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1"
+ }
+ ],
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 2
+ },
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ },
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "location": "centralus",
+ "tags": {}
+ },
+ "localNetworkGateway2": {
+ "properties": {
+ "localNetworkAddressSpace": {
+ "addressPrefixes": [
+ "10.1.0.0/16"
+ ]
+ },
+ "gatewayIpAddress": "x.x.x.x",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000"
+ },
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "location": "centralus",
+ "tags": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "sharedKey": "Abc123",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": []
+ },
+ "location": "centralus"
+ }
+ },
+ "responses" : {
+ "201" : {
+ "body" : {
+ "name": "connS2S",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Updating",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "sharedKey": "Abc123",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ },
+ "200" : {
+ "body" : {
+ "name": "connS2S",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Updating",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "sharedKey": "Abc123",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionDelete.json
new file mode 100644
index 000000000000..48a59abcafa5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "conn1"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionGet.json
new file mode 100644
index 000000000000..2de401be024a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "connS2S"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "connS2S",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/connS2S",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "sharedKey": "Abc123",
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "connectionStatus": "Connecting",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
new file mode 100644
index 000000000000..268f07258ff4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "connS2S"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": "AzureAbc123"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
new file mode 100644
index 000000000000..683923689dae
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "conn1",
+ "parameters": {
+ "keyLength": 128
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "keyLength": 128
+ }
+ },
+ "202" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
new file mode 100644
index 000000000000..6d6c31833222
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "connS2S",
+ "parameters": {
+ "value": "AzureAbc123"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": "AzureAbc123"
+ }
+ },
+ "201" : {
+ "body" : {
+ "value": "AzureAbc123"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
new file mode 100644
index 000000000000..ac01786c86f3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json
@@ -0,0 +1,49 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/lgw",
+ "properties": {}
+ },
+ "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-12-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionsList.json
new file mode 100644
index 000000000000..4a1cbccc8074
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayConnectionsList.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "conn1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/conn1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/connections",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "virtualNetworkGateway1": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw1",
+ "properties": {}
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv1",
+ "routingWeight": 0,
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ },
+ {
+ "name": "conn2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/connections/conn2",
+ "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/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2",
+ "properties": {}
+ },
+ "localNetworkGateway2": {
+ "properties": {},
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/localNetworkGateways/localgw2"
+ },
+ "connectionType": "IPsec",
+ "connectionProtocol": "IKEv2",
+ "routingWeight": 0,
+ "enableBgp": false,
+ "usePolicyBasedTrafficSelectors": false,
+ "ipsecPolicies": [],
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayDelete.json
new file mode 100644
index 000000000000..3b25797cace1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
new file mode 100644
index 000000000000..b6fffc098a3b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "parameters": {
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
new file mode 100644
index 000000000000..f22a03fd6675
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "parameters": {}
+ },
+ "responses" : {
+ "202" : {
+ },
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGet.json
new file mode 100644
index 000000000000..aa3c2a761c85
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGet.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
new file mode 100644
index 000000000000..4ecd76844093
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "peer": "test"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : {
+ "body" : {
+
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
new file mode 100644
index 000000000000..f0349e3a0362
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : {
+ "body" : {
+
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..9f9613d826f8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "200" : {
+ "saLifeTimeSeconds": 86473,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup2",
+ "pfsGroup": "PFS2"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
new file mode 100644
index 000000000000..f69561355447
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayLearnedRoutes.json
new file mode 100644
index 000000000000..c25ac968e309
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayLearnedRoutes.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : {},
+ "200" : {
+ "body" : {
+
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayList.json
new file mode 100644
index 000000000000..52fa5798e691
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayList.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "vpngw1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "loc1",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw1/ipConfigurations/default",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/vpngw1-ip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 2
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.0.14",
+ "peerWeight": 0
+ }
+ }
+ },
+ {
+ "name": "vpngw2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "loc2",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "default",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw2/ipConfigurations/default",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/vpngw2-ip"
+ },
+ "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,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.1.0.46",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayReset.json
new file mode 100644
index 000000000000..7eaa47fbd819
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayReset.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
new file mode 100644
index 000000000000..1440f4f511ec
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "202" : { },
+ "200" : { }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
new file mode 100644
index 000000000000..9fa6fe72a610
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "vpnclientIpsecParams": {
+ "saLifeTimeSeconds": 86473,
+ "saDataSizeKilobytes": 429497,
+ "ipsecEncryption": "AES256",
+ "ipsecIntegrity": "SHA256",
+ "ikeEncryption": "AES256",
+ "ikeIntegrity": "SHA384",
+ "dhGroup": "DHGroup2",
+ "pfsGroup": "PFS2"
+ }
+ },
+ "responses" : {
+ "202" : {
+ },
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
new file mode 100644
index 000000000000..f306f62d8801
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw"
+ },
+ "responses" : {
+ "200" : {
+ "body" : ""
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayUpdate.json
new file mode 100644
index 000000000000..1a00ffcdca98
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayUpdate.json
@@ -0,0 +1,146 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayName" : "vpngw",
+ "parameters": {
+ "properties": {
+ "ipConfigurations": [
+ {
+ "properties": {
+ "privateIPAllocationMethod": "Dynamic",
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ },
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ }
+ },
+ "name": "gwipconfig1"
+ }
+ ],
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1"
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ },
+ "location": "centralus"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "SSTP",
+ "IkeV2"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "vpngw",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "type": "Microsoft.Network/virtualNetworkGateways",
+ "location": "centralus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "resourceGuid": "00000000-0000-0000-0000-000000000000",
+ "ipConfigurations": [
+ {
+ "name": "gwipconfig1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw/ipConfigurations/gwipconfig1",
+ "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateIPAllocationMethod": "Dynamic",
+ "publicIPAddress": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip"
+ },
+ "subnet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet"
+ }
+ }
+ }
+ ],
+ "sku": {
+ "name": "VpnGw1",
+ "tier": "VpnGw1",
+ "capacity": 0
+ },
+ "gatewayType": "Vpn",
+ "vpnType": "RouteBased",
+ "enableBgp": false,
+ "activeActive": false,
+ "vpnClientConfiguration": {
+ "vpnClientProtocols": [
+ "SSTP",
+ "IkeV2"
+ ],
+ "vpnClientRootCertificates": [],
+ "vpnClientRevokedCertificates": []
+ },
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayUpdateTags.json
new file mode 100644
index 000000000000..64ef0bbb0793
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayUpdateTags.json
@@ -0,0 +1,62 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
new file mode 100644
index 000000000000..b42cac644d77
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "virtualNetworkGatewayConnectionName" : "vpngw",
+ "parameters": {
+ "vendor": "Cisco",
+ "deviceFamily": "ISR",
+ "firmwareVersion": "IOS 15.1 (Preview)"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : "! Microsoft Corporation\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Sample VPN tunnel configuration template for IOS-based devices\r\n!\r\n! This configuration template applies to Cisco VPN devices running IOS 15.1 or beyond (ISR or ASR)\r\n!\r\n\r\n\r\n\t\t\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! ACL rules\r\n!\r\n! Some VPN devices require explicit ACL rules to allow cross-premises traffic:\r\n!\r\n! 1. Allow traffic between on premises address ranges and VNet address ranges\r\n! 2. Allow IKE traffic (UDP:500) between on premises VPN devices and Azure VPN gateway\r\n! 3. Allow IPsec traffic (Proto:ESP) between on premises VPN devices and Azure VPN gateway\r\n!\r\n\t\t\r\naccess-list 101 permit ip 10.1.0.0 0.0.255.255 10.0.0.0 0.0.255.255\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Internet Key Exchange (IKE) configuration\r\n!\r\n! This section specifies the authentication, encryption, hashing, and Diffie-Hellman group parameters for IKE\r\n! main mode or phase 1\r\n!\r\n\r\ncrypto ikev2 proposal SwaggerS2S-proposal\r\n encryption DES3\r\n integrity SHA384\r\n group DHGroup24\r\n lifetime 3600\r\n exit\r\n\r\ncrypto ikev2 policy SwaggerS2S-policy\r\n proposal SwaggerS2S-proposal\r\n exit\r\n\r\ncrypto ikev2 keyring SwaggerBranch-keyring\r\n\t\t\r\n\t\tpeer 52.173.199.254\r\n\t\taddress 52.173.199.254\r\n\t\tpre-shared-key lALEHuppeopJmA94exRNiRr2QzuZ6lOsvzu5IlJUEA6LthbTc8g5MTT86MCsGNMzGkTAaLuLnEJoD1Cn4cIlr94qKZm9drsgllzWvsPNezS71stAkaW1Bb7h6GBnDlDP\r\n exit\r\n\r\ncrypto ikev2 profile SwaggerS2S-profile\r\n match address local 10.3.0.0\r\n\tmatch identity remote address 52.173.199.254 255.255.255.255\r\n\t\t\r\n authentication remote pre-share\r\n authentication local pre-share\r\n keyring SwaggerBranch-keyring\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! IPsec configuration\r\n!\r\n! This section specifies encryption, authentication, tunnel mode properties for the Phase 2 negotiation\r\n!\r\ncrypto ipsec transform-set SwaggerS2S-TransformSet DES3 DES3\r\n mode tunnel\r\n exit\r\n\r\n! ---------------------------------------------------------------------------------------------------------------------\r\n! Crypto map configuration\r\n!\r\n! This section defines a crypto profile that binds the cross-premises network traffic to the IPsec and IKE\r\n! policy profiles for this connection. Then defines the VTI (virtual tunnel interface) with the crypto\r\n! profile. A random interface number (tunnel 1) was used with a random link local address (169.254.0.1/28)\r\n! for the tunnel interface. If either selection is already used in the VPN device, please select another\r\n! interface number or address. The only requirement is that they must not overlap with another interface\r\n! on the same VPN device.\r\n!\r\ncrypto ipsec profile SwaggerS2S-IPsecProfile\r\n set transform-set SwaggerS2S-TransformSet\r\n set ikev2-profile SwaggerS2S-profile\r\n set pfs None\r\n set security-association lifetime 3600\r\n exit\r\n\r\n\r\nint tunnel 52.173.199.254\r\n ip address 169.254.0.1 255.255.255.252\r\n ip tcp adjust-mss 1350\r\n tunnel source 10.3.0.0\r\n tunnel mode ipsec ipv4\r\n tunnel destination 52.173.199.254\r\n tunnel protection ipsec profile SwaggerS2S-IPsecProfile\r\n exit\r\n\r\n\tip route 10.0.0.0 255.255.0.0 tunnel 52.173.199.254 "
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewaysListConnections.json
new file mode 100644
index 000000000000..16ce0aa76f75
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGatewaysListConnections.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "testrg",
+ "virtualNetworkGatewayName": "test-vpn-gateway-1",
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGet.json
new file mode 100644
index 000000000000..420e98541d7a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
new file mode 100644
index 000000000000..b087b5361a06
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGetWithServiceAssociationLink.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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",
+ "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "addressPrefix": "10.0.214.0/24",
+ "ipConfigurationProfiles": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkProfiles/networkProfile1/containerNetworkInterfaceConfigurations/eth0/ipConfigurations/ipconfigprofile1"
+ }
+ ],
+ "serviceAssociationLinks": [
+ {
+ "name": "serviceAssociationLink1",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/serviceAssociationLinks/serviceAssociationLink1",
+ "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "linkedResourceType": "Microsoft.Provider/resourceType"
+ }
+ }
+ ],
+ "serviceEndpoints": [],
+ "delegations": [
+ {
+ "name": "aciDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/aciDelegation",
+ "etag": "W/\"4d3e91b4-f67f-48be-880b-e4a8abdd019e\"",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": [
+ "Microsoft.Network/virtualNetworks/subnets/action"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGetWithSubnetDelegation.json
new file mode 100644
index 000000000000..bda088f91756
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkGetWithSubnetDelegation.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2018-12-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"
+ }],
+ "delegations": [{
+ "name": "myDelegation",
+ "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1/delegations/myDelegation",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "serviceName": "Microsoft.Provider/resourceType",
+ "actions": []
+ }
+ }],
+ "purpose": ""
+ }
+ }],
+ "virtualNetworkPeerings": []
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkList.json
new file mode 100644
index 000000000000..5637417cadb1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkList.json
@@ -0,0 +1,64 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkListAll.json
new file mode 100644
index 000000000000..84384581b2c8
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkListAll.json
@@ -0,0 +1,63 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkListUsage.json
new file mode 100644
index 000000000000..afb6cf19c476
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkListUsage.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnetName",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkPeeringCreate.json
new file mode 100644
index 000000000000..865700484881
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkPeeringCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkPeeringDelete.json
new file mode 100644
index 000000000000..6aa45e4f71cc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkPeeringDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkPeeringGet.json
new file mode 100644
index 000000000000..3e16ff4b818c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkPeeringGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "virtualNetworkPeeringName": "peer",
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkPeeringList.json
new file mode 100644
index 000000000000..bbb356e866c7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkPeeringList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "virtualNetworkName": "vnet1",
+ "resourceGroupName": "peerTest",
+ "api-version": "2018-12-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-12-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapCreate.json
new file mode 100644
index 000000000000..412037578053
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapCreate.json
@@ -0,0 +1,62 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap",
+ "parameters": {
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/ipconfig1"
+ }
+ },
+ "location": "centraluseuap"
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ },
+ "201" : {
+ "body" : {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapDelete.json
new file mode 100644
index 000000000000..65341baabdff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap"
+ },
+ "responses" : {
+ "200" : { },
+ "202" : { },
+ "204" : { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapGet.json
new file mode 100644
index 000000000000..c000b092304c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName" : "rg1",
+ "tapName" : "testvtap"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapList.json
new file mode 100644
index 000000000000..05e1d5710eff
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapList.json
@@ -0,0 +1,55 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testvtap2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapListAll.json
new file mode 100644
index 000000000000..f8297a483bca
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapListAll.json
@@ -0,0 +1,54 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid"
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "value": [
+ {
+ "name": "testvtap",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ },
+ {
+ "name": "testvtap2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2",
+ "etag": "etag",
+ "type": "Microsoft.Network/virtualNetworkTaps",
+ "location": "centraluseuap",
+ "properties": {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "resourceGuid": "6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapUpdateTags.json
new file mode 100644
index 000000000000..56dd4ef43473
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkTapUpdateTags.json
@@ -0,0 +1,40 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-01",
+ "subscriptionId" : "subid",
+ "resourceGroupName": "rg1",
+ "tapName": "test-vtap",
+ "tapParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses" : {
+ "200" : {
+ "body" : {
+ "name" : "test-vtap",
+ "id" : "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/test-vtap",
+ "location" : "eastus",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties" : {
+ "destinationNetworkInterfaceIPConfiguration": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1"
+ },
+ "destinationPort": 4789,
+ "provisioningState": "Succeded",
+ "networkInterfaceTapConfigurations": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration"
+ }
+ ]
+ },
+ "type" : "Microsoft.Network/virtualNetworkTaps"
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkUpdateTags.json
new file mode 100644
index 000000000000..025960f6b498
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualNetworkUpdateTags.json
@@ -0,0 +1,39 @@
+{
+ "parameters" : {
+ "api-version": "2018-12-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-12-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANDelete.json
new file mode 100644
index 000000000000..f2b809e34d82
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "VirtualWANName": "virtualWan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANGet.json
new file mode 100644
index 000000000000..d48ffe878159
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANList.json
new file mode 100644
index 000000000000..dfdf445ae0ef
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "wan2",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANListByResourceGroup.json
new file mode 100644
index 000000000000..ec7852eb9aad
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANListByResourceGroup.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "wan2",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub3",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub4"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite3",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite4"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANPut.json
new file mode 100644
index 000000000000..d876c3541ee4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANPut.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "WANParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "disableVpnEncryption": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANUpdateTags.json
new file mode 100644
index 000000000000..96563aa0bcb7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWANUpdateTags.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "VirtualWANName": "wan1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "WANParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "wan1",
+ "type": "Microsoft.Network/virtualWANs",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "disableVpnEncryption": false,
+ "virtualHubs": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub2"
+ ],
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWanSupportedSecurityProviders.json
new file mode 100644
index 000000000000..0c14b91cdd96
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VirtualWanSupportedSecurityProviders.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "virtualWANName": "wan1"
+ },
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "body": {
+ "supportedProviders": [
+ {
+ "name": "AzureFirewall",
+ "url": "",
+ "type": "Native"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssNetworkInterfaceGet.json
new file mode 100644
index 000000000000..de8b2d4a7ec5
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-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-12-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssNetworkInterfaceIpConfigGet.json
new file mode 100644
index 000000000000..445dae399b7d
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-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-12-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssNetworkInterfaceIpConfigList.json
new file mode 100644
index 000000000000..1758de1ee444
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-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-12-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssNetworkInterfaceList.json
new file mode 100644
index 000000000000..aa3be3aba845
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-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-12-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssPublicIpGet.json
new file mode 100644
index 000000000000..3601aa554519
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssPublicIpListAll.json
new file mode 100644
index 000000000000..2371537ba644
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssVmNetworkInterfaceList.json
new file mode 100644
index 000000000000..e44ecaa437fd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-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-12-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VmssVmPublicIpList.json
new file mode 100644
index 000000000000..5df78ff0a7d1
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionDelete.json
new file mode 100644
index 000000000000..63bcfd74cafc
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionGet.json
new file mode 100644
index 000000000000..0e049206857f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "connectionName": "vpnConnection1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "vpnConnectionProtocolType": "IKEv2",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionList.json
new file mode 100644
index 000000000000..927e13c95915
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "vpnConnectionProtocolType": "IKEv1",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionPut.json
new file mode 100644
index 000000000000..402eb0ebdd2e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnConnectionPut.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "connectionName": "vpnConnection1",
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "VpnConnectionParameters": {
+ "properties": {
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "vpnConnectionProtocolType" : "IKEv1",
+ "sharedKey": "key"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "vpnConnectionProtocolType": "IKEv1",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ },
+ "201": {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "vpnConnectionProtocolType": "IKEv1",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayDelete.json
new file mode 100644
index 000000000000..fa3819b47601
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayGet.json
new file mode 100644
index 000000000000..c06809f6fdf3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayGet.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayList.json
new file mode 100644
index 000000000000..4d32341f1736
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayList.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ },
+ {
+ "name": "gateway2",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualHubs/virtualHub2"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayListByResourceGroup.json
new file mode 100644
index 000000000000..d8a922440a21
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayListByResourceGroup.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ },
+ {
+ "name": "gateway2",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub2"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway2/vpnConnections/vpnConnection2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65514,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayPut.json
new file mode 100644
index 000000000000..38909af2114f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayPut.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "vpnGatewayParameters": {
+ "location": "West US",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "properties": {
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "sharedKey": "key"
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ },
+ "201": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidth": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayUpdateTags.json
new file mode 100644
index 000000000000..964388db1cf6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnGatewayUpdateTags.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "gatewayName": "gateway1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "vpnGatewayParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidthInMbps": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "policies": {
+ "allowBranchToBranchTraffic": true,
+ "allowVnetToVnetTraffic": false
+ }
+ }
+ },
+ "201": {
+ "name": "gateway1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "type": "Microsoft.Network/vpnGateways",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualHub": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1"
+ },
+ "connections": [
+ {
+ "name": "vpnConnection1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "remoteVpnSite": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1"
+ },
+ "connectionStatus": "Connected",
+ "ingressBytesTransferred": 0,
+ "egressBytesTransferred": 0,
+ "routingWeight": 0,
+ "connectionBandwidthInMbps": 100,
+ "sharedKey": "key",
+ "enableBgp": false,
+ "ipsecPolicies": [ ]
+ }
+ }
+ ],
+ "bgpSettings": {
+ "asn": 65515,
+ "bgpPeeringAddress": "10.0.1.30",
+ "peerWeight": 0
+ },
+ "policies": {
+ "allowBranchToBranchTraffic": true,
+ "allowVnetToVnetTraffic": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteDelete.json
new file mode 100644
index 000000000000..e1275cd898c9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": { },
+ "202": { },
+ "204": { }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteGet.json
new file mode 100644
index 000000000000..7c625dd7f9d6
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ }
+ }
+ }
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteList.json
new file mode 100644
index 000000000000..da7b38046b32
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/vpnSites/vpnSite2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "East US",
+ "name": "vpnSite2",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.1.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteListByResourceGroup.json
new file mode 100644
index 000000000000..49847f415d22
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteListByResourceGroup.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2018-12-01",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite2",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite2",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.1.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSitePut.json
new file mode 100644
index 000000000000..0e863ac012db
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSitePut.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "VpnSiteParameters": {
+ "tags": {
+ "key1": "value1"
+ },
+ "location": "West US",
+ "properties": {
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/VirtualWans/virtualWan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/VirtualWans/virtualWan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.1.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/VirtualWans/virtualWan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.1.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteUpdateTags.json
new file mode 100644
index 000000000000..91cb9a84671b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSiteUpdateTags.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "vpnSiteName": "vpnSite1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "subscriptionId": "subid",
+ "VpnSiteParameters": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/vpnSite1",
+ "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
+ "location": "West US",
+ "name": "vpnSite1",
+ "type": "Microsoft.Network/vpnSites",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "virtualWan": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualWANs/wan1",
+ "deviceProperties": {
+ "deviceVendor": "vendor1",
+ "deviceModel": "model01",
+ "linkSpeedInMbps": 200
+ },
+ "ipAddress": "10.0.0.0",
+ "addressSpace": {
+ "addressPrefixes": [
+ "10.0.0.0/16"
+ ]
+ },
+ "bgpProperties": {
+ "bgpPeeringAddress": "192.168.0.0",
+ "asn": 1234
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSitesConfigurationDownload.json
new file mode 100644
index 000000000000..69ecba67948f
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/examples/VpnSitesConfigurationDownload.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-12-01",
+ "virtualWANName": "wan1",
+ "request": {
+ "vpnSites": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnSites/abc"
+ ],
+ "outputBlobSasUrl": "https://blobcortextesturl.blob.core.windows.net/folderforconfig/vpnFile?sp=rw&se=2018-01-10T03%3A42%3A04Z&sv=2017-04-17&sig=WvXrT5bDmDFfgHs%2Brz%2BjAu123eRCNE9BO0eQYcPDT7pY%3D&sr=b"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Request successful. Follow the location header for sas-url to output blob."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRouteCircuit.json
new file mode 100644
index 000000000000..1c0ee5960e4b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRouteCircuit.json
@@ -0,0 +1,2019 @@
+{
+ "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-12-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Delete ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationDelete.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitAuthorization"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Create ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationCreate.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitAuthorization resources.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRouteCircuit Authorization": { "$ref": "./examples/ExpressRouteCircuitAuthorizationList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Delete ExpressRouteCircuit Peerings": { "$ref": "./examples/ExpressRouteCircuitPeeringDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitPeerings"
+ ],
+ "operationId": "ExpressRouteCircuitPeerings_Get",
+ "description": "Gets the specified peering for the 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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRouteCircuit Peering": { "$ref": "./examples/ExpressRouteCircuitPeeringGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Create ExpressRouteCircuit Peerings": { "$ref": "./examples/ExpressRouteCircuitPeeringCreate.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitPeering resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples":{
+ "List ExpressRouteCircuit Peerings": { "$ref": "./examples/ExpressRouteCircuitPeeringList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCircuitConnections"
+ ],
+ "operationId": "ExpressRouteCircuitConnections_Delete",
+ "description": "Deletes the specified Express Route Circuit Connection 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."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "Delete ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitConnectionDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitConnections"
+ ],
+ "operationId": "ExpressRouteCircuitConnections_Get",
+ "description": "Gets the specified Express Route Circuit Connection 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."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting Express Route Circuit Connection resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCircuitConnectionGet": {
+ "$ref": "./examples/ExpressRouteCircuitConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCircuitConnections"
+ ],
+ "operationId": "ExpressRouteCircuitConnections_CreateOrUpdate",
+ "description": "Creates or updates a Express Route Circuit Connection 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": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the express route circuit connection."
+ },
+ {
+ "name": "expressRouteCircuitConnectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ },
+ "description": "Parameters supplied to the create or update express route circuit connection operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCircuitPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCircuitConnectionCreate": {
+ "$ref": "./examples/ExpressRouteCircuitConnectionCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuitConnections"
+ ],
+ "operationId": "ExpressRouteCircuitConnections_List",
+ "description": "Gets all global reach connections associated with a private peering 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."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuitConnections resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnectionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRouteCircuit Connection": { "$ref": "./examples/ExpressRouteCircuitConnectionList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Delete ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitDelete.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuit resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuit"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "Create ExpressRouteCircuit": { "$ref": "./examples/ExpressRouteCircuitCreate.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "List ARP Table": { "$ref": "./examples/ExpressRouteCircuitARPTableList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "List Route Tables": { "$ref": "./examples/ExpressRouteCircuitRouteTableList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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,
+ "x-ms-examples": {
+ "List Route Table Summary": { "$ref": "./examples/ExpressRouteCircuitRouteTableSummaryList.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRoute Circuit Traffic Stats": { "$ref": "./examples/ExpressRouteCircuitStats.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitStats resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitStats"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get ExpressRoute Circuit Peering Traffic Stats": { "$ref": "./examples/ExpressRouteCircuitPeeringStats.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCircuitAuthorization resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRouteCircuits in a resource group": { "$ref": "./examples/ExpressRouteCircuitListByResourceGroup.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits": {
+ "get": {
+ "tags": [
+ "ExpressRouteCircuits"
+ ],
+ "operationId": "ExpressRouteCircuits_ListAll",
+ "description": "Gets all the express route circuits in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCircuit resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCircuitListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRouteCircuits in a subscription": { "$ref": "./examples/ExpressRouteCircuitListBySubscription.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders": {
+ "get": {
+ "tags": [
+ "ExpressRouteServiceProviders"
+ ],
+ "operationId": "ExpressRouteServiceProviders_List",
+ "description": "Gets all the available express route service providers.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteServiceProvider resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteServiceProviderListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List ExpressRoute providers": { "$ref": "./examples/ExpressRouteProviderList.json" }
+ }
+ }
+ }
+ },
+ "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. Specified 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": {
+ "$ref": "#/definitions/ExpressRoutePeeringType",
+ "description": "The peering type."
+ },
+ "state": {
+ "$ref": "#/definitions/ExpressRoutePeeringState",
+ "description": "The peering state."
+ },
+ "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."
+ },
+ "expressRouteConnection" : {
+ "$ref": "./expressRouteGateway.json#/definitions/ExpressRouteConnectionId",
+ "description": "The ExpressRoute connection."
+ },
+ "connections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ },
+ "description": "The list of circuit connections associated with Azure Private Peering for this circuit."
+ }
+ }
+ },
+ "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."
+ },
+ "ExpressRoutePeeringType": {
+ "type": "string",
+ "description": "The PeeringType. Possible values are: 'AzurePublicPeering', 'AzurePrivatePeering', and 'MicrosoftPeering'.",
+ "enum": [
+ "AzurePublicPeering",
+ "AzurePrivatePeering",
+ "MicrosoftPeering"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRoutePeeringType",
+ "modelAsString": true
+ }
+ },
+ "ExpressRoutePeeringState": {
+ "type": "string",
+ "description": "The state of peering. Possible values are: 'Disabled' and 'Enabled'",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRoutePeeringState",
+ "modelAsString": true
+ }
+ },
+ "ExpressRouteCircuitConnectionPropertiesFormat": {
+ "properties": {
+ "expressRouteCircuitPeering": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection."
+ },
+ "peerExpressRouteCircuitPeering": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to Express Route Circuit Private Peering Resource of the peered circuit."
+ },
+ "addressPrefix": {
+ "type": "string",
+ "description": "/29 IP address space to carve out Customer addresses for tunnels."
+ },
+ "authorizationKey": {
+ "type": "string",
+ "description": "The authorization key."
+ },
+ "circuitConnectionStatus": {
+ "type": "string",
+ "description": "Express Route Circuit Connection State. Possible values are: 'Connected' and 'Disconnected'.",
+ "enum": [
+ "Connected",
+ "Connecting",
+ "Disconnected"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "circuitConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Provisioning state of the circuit connection resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ }
+ }
+ },
+ "ExpressRouteCircuitConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCircuitConnectionPropertiesFormat"
+ },
+ "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": "Express Route Circuit Connection in an ExpressRouteCircuitPeering resource."
+ },
+ "ExpressRouteCircuitConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCircuitConnection"
+ },
+ "description": "The global reach connection associated with Private Peering in an ExpressRoute Circuit."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListConnections API service call retrieves all global reach connections that belongs to a Private Peering for 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', 'Premium' or 'Basic'.",
+ "enum": [
+ "Standard",
+ "Premium",
+ "Basic"
+ ],
+ "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."
+ },
+ "expressRoutePort": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource."
+ },
+ "bandwidthInGbps": {
+ "type": "number",
+ "description": "The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource."
+ },
+ "stag": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The identifier of the circuit traffic. Outer tag for QinQ encapsulation."
+ },
+ "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."
+ },
+ "allowGlobalReach": {
+ "type": "boolean",
+ "description": "Flag to enable Global Reach on the circuit."
+ }
+ },
+ "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": "Entry age in minutes"
+ },
+ "interface": {
+ "type": "string",
+ "description": "Interface address"
+ },
+ "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": "IP address of a network entity"
+ },
+ "nextHop": {
+ "type": "string",
+ "description": "NextHop address"
+ },
+ "locPrf": {
+ "type": "string",
+ "description": "Local preference value as set with the set local-preference route-map configuration command"
+ },
+ "weight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Route Weight."
+ },
+ "path": {
+ "type": "string",
+ "description": "Autonomous system paths to the destination network."
+ }
+ },
+ "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": "IP address of the 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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRouteCrossConnection.json
new file mode 100644
index 000000000000..6b559429948a
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRouteCrossConnection.json
@@ -0,0 +1,922 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ExpressRouteCrossConnection REST APIs",
+ "description": "The Microsoft Azure ExpressRouteCrossConnection Resource Provider REST APIs describes the operations for the connectivity provider to provision ExpressRoute circuit, create and modify BGP peering entities and troubleshoot connectivity on customer's ExpressRoute circuit. ",
+ "version": "2018-12-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/expressRouteCrossConnections": {
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_List",
+ "description": "Retrieves all the ExpressRouteCrossConnections in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCrossConnectionList": {
+ "$ref": "./examples/ExpressRouteCrossConnectionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections": {
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_ListByResourceGroup",
+ "description": "Retrieves all the ExpressRouteCrossConnections in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.The operation returns a list of ExpressRouteCrossConnection resources. If there are no cross connection resources an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCrossConnectionListByResourceGroup": {
+ "$ref": "./examples/ExpressRouteCrossConnectionListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}": {
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_Get",
+ "description": "Gets details about the specified ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group (peering location of the circuit)."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection (service key of the circuit)."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnection": {
+ "$ref": "./examples/ExpressRouteCrossConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_CreateOrUpdate",
+ "description": "Update the specified ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ },
+ "description": "Parameters supplied to the update express route crossConnection operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateExpressRouteCrossConnection": {
+ "$ref": "./examples/ExpressRouteCrossConnectionUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ExpressRouteCrossConnections"
+ ],
+ "operationId": "ExpressRouteCrossConnections_UpdateTags",
+ "description": "Updates an express route cross connection tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cross connection."
+ },
+ {
+ "name": "crossConnectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update express route cross connection tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateExpressRouteCrossConnectionTags": {
+ "$ref": "./examples/ExpressRouteCrossConnectionUpdateTags.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings": {
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnectionPeerings"
+ ],
+ "operationId": "ExpressRouteCrossConnectionPeerings_List",
+ "description": "Gets all peerings in a specified ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteCrossConnectionPeering resources.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCrossConnectionBgpPeeringList": {
+ "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}": {
+ "delete": {
+ "tags": [
+ "ExpressRouteCrossConnectionPeerings"
+ ],
+ "operationId": "ExpressRouteCrossConnectionPeerings_Delete",
+ "description": "Deletes the specified peering from the ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "DeleteExpressRouteCrossConnectionBgpPeering": {
+ "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteCrossConnectionPeerings"
+ ],
+ "operationId": "ExpressRouteCrossConnectionPeerings_Get",
+ "description": "Gets the specified peering for the ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnectionBgpPeering": {
+ "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRouteCrossConnectionPeerings"
+ ],
+ "operationId": "ExpressRouteCrossConnectionPeerings_CreateOrUpdate",
+ "description": "Creates or updates a peering in the specified ExpressRouteCrossConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "name": "peeringName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the peering."
+ },
+ {
+ "name": "peeringParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ },
+ "description": "Parameters supplied to the create or update ExpressRouteCrossConnection peering operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRouteCrossConnectionPeering resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteCrossConnectionBgpPeeringCreate": {
+ "$ref": "./examples/ExpressRouteCrossConnectionBgpPeeringCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCrossConnectionArpTable"
+ ],
+ "operationId": "ExpressRouteCrossConnections_ListArpTable",
+ "description": "Gets the currently advertised ARP table associated with the express route cross connection in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsArpTable resource.",
+ "schema": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsArpTableListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnectionsArpTable": {
+ "$ref": "./examples/ExpressRouteCrossConnectionsArpTable.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCrossConnectionRouteTableSummary"
+ ],
+ "operationId": "ExpressRouteCrossConnections_ListRoutesTableSummary",
+ "description": "Gets the route table summary associated with the express route cross connection in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTableSummary resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionsRoutesTableSummaryListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnectionsRouteTableSummary": {
+ "$ref": "./examples/ExpressRouteCrossConnectionsRouteTableSummary.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}": {
+ "post": {
+ "tags": [
+ "ExpressRouteCrossConnectionRouteTable"
+ ],
+ "operationId": "ExpressRouteCrossConnections_ListRoutesTable",
+ "description": "Gets the currently advertised routes table associated with the express route cross connection in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "crossConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteCrossConnection."
+ },
+ {
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ExpressRouteCrossConnectionsRouteTable resource.",
+ "schema": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitsRoutesTableListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetExpressRouteCrossConnectionsRouteTable": {
+ "$ref": "./examples/ExpressRouteCrossConnectionsRouteTable.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "ExpressRouteCrossConnectionRoutesTableSummary": {
+ "properties": {
+ "neighbor": {
+ "type": "string",
+ "description": "IP address of Neighbor router"
+ },
+ "asn": {
+ "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."
+ },
+ "stateOrPrefixesReceived": {
+ "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."
+ },
+ "ExpressRouteCrossConnectionsRoutesTableSummaryListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionRoutesTableSummary"
+ },
+ "description": "A list of the routes table."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListRoutesTable associated with the Express Route Cross Connections."
+ },
+ "ExpressRouteCircuitReference": {
+ "properties": {
+ "id": {
+ "type":"string",
+ "description": "Corresponding Express Route Circuit Id."
+ }
+ }
+ },
+ "ExpressRouteCrossConnectionProperties": {
+ "properties": {
+ "primaryAzurePort": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the primary port."
+ },
+ "secondaryAzurePort": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the secondary port."
+ },
+ "sTag": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The identifier of the circuit traffic."
+ },
+ "peeringLocation": {
+ "type": "string",
+ "description": "The peering location of the ExpressRoute circuit."
+ },
+ "bandwidthInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The circuit bandwidth In Mbps."
+ },
+ "expressRouteCircuit": {
+ "$ref": "#/definitions/ExpressRouteCircuitReference",
+ "description": "The ExpressRouteCircuit"
+ },
+ "serviceProviderProvisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the circuit in the connectivity provider system. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned'.",
+ "enum": [
+ "NotProvisioned",
+ "Provisioning",
+ "Provisioned",
+ "Deprovisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ServiceProviderProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "serviceProviderNotes": {
+ "type": "string",
+ "description": "Additional read only notes set by the connectivity provider."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "peerings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ },
+ "description": "The list of peerings."
+ }
+ },
+ "description": "Properties of ExpressRouteCrossConnection."
+ },
+ "ExpressRouteCrossConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCrossConnectionProperties"
+ },
+ "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": "ExpressRouteCrossConnection resource"
+ },
+ "ExpressRouteCrossConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCrossConnection"
+ },
+ "description": "A list of ExpressRouteCrossConnection resources."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListExpressRouteCrossConnection API service call."
+ },
+ "ExpressRouteCrossConnectionPeeringProperties": {
+ "properties": {
+ "peeringType": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringType",
+ "description": "The peering type."
+ },
+ "state": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRoutePeeringState",
+ "description": "The peering state."
+ },
+ "azureASN": {
+ "readOnly": true,
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The primary port."
+ },
+ "secondaryAzurePort": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The secondary port."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "The shared key."
+ },
+ "vlanId": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The VLAN ID."
+ },
+ "microsoftPeeringConfig": {
+ "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeeringConfig",
+ "description": "The Microsoft peering configuration."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "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."
+ },
+ "ipv6PeeringConfig": {
+ "$ref": "./expressRouteCircuit.json#/definitions/Ipv6ExpressRouteCircuitPeeringConfig",
+ "description": "The IPv6 peering configuration."
+ }
+ }
+ },
+ "ExpressRouteCrossConnectionPeering": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeeringProperties"
+ },
+ "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 ExpressRoute Cross Connection resource."
+ },
+ "ExpressRouteCrossConnectionPeeringList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteCrossConnectionPeering"
+ },
+ "description": "The peerings in an express route cross connection."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "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 ExpressRouteCrossConnection."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRouteGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRouteGateway.json
new file mode 100644
index 000000000000..3baf47dd7605
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRouteGateway.json
@@ -0,0 +1,648 @@
+{
+ "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-12-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/expressRouteGateways": {
+ "get": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_ListBySubscription",
+ "x-ms-examples": {
+ "ExpressRouteGatewayListBySubscription": {
+ "$ref": "./examples/ExpressRouteGatewayListBySubscription.json"
+ }
+ },
+ "description": "Lists ExpressRoute gateways under a given subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGatewayList"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways": {
+ "get": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_ListByResourceGroup",
+ "x-ms-examples": {
+ "ExpressRouteGatewayListByResourceGroup": {
+ "$ref": "./examples/ExpressRouteGatewayListByResourceGroup.json"
+ }
+ },
+ "description": "Lists ExpressRoute gateways in a given resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation successful.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGatewayList"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}": {
+ "put": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_CreateOrUpdate",
+ "x-ms-examples": {
+ "ExpressRouteGatewayCreate": {
+ "$ref": "./examples/ExpressRouteGatewayCreate.json"
+ }
+ },
+ "description": "Creates or updates a ExpressRoute gateway in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "name": "putExpressRouteGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ },
+ "description": "Parameters required in an ExpressRoute gateway PUT operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRoute gateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRoute gateway resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_Get",
+ "x-ms-examples": {
+ "ExpressRouteGatewayGet": {
+ "$ref": "./examples/ExpressRouteGatewayGet.json"
+ }
+ },
+ "description": "Fetches the details of a ExpressRoute gateway in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation succeeded. The operation returns the ExpressRoute gateway.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ExpressRouteGateways"
+ ],
+ "operationId": "ExpressRouteGateways_Delete",
+ "x-ms-examples": {
+ "ExpressRouteGatewayDelete": {
+ "$ref": "./examples/ExpressRouteGatewayDelete.json"
+ }
+ },
+ "description": "Deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be deleted when there are no connection subresources.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}": {
+ "put": {
+ "tags": [
+ "ExpressRouteConnections"
+ ],
+ "operationId": "ExpressRouteConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "ExpressRouteConnectionCreate": {
+ "$ref": "./examples/ExpressRouteConnectionCreate.json"
+ }
+ },
+ "description": "Creates a connection between an ExpressRoute gateway and an ExpressRoute circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection subresource."
+ },
+ {
+ "name": "putExpressRouteConnectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ },
+ "description": "Parameters required in an ExpressRouteConnection PUT operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the ExpressRouteConnection.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the ExpressRouteConnection.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ExpressRouteConnections"
+ ],
+ "operationId": "ExpressRouteConnections_Get",
+ "x-ms-examples": {
+ "ExpressRouteConnectionGet": {
+ "$ref": "./examples/ExpressRouteConnectionGet.json"
+ }
+ },
+ "description": "Gets the specified ExpressRouteConnection.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the ExpressRouteConnection.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ExpressRouteConnections"
+ ],
+ "operationId": "ExpressRouteConnections_Delete",
+ "x-ms-examples": {
+ "ExpressRouteConnectionDelete": {
+ "$ref": "./examples/ExpressRouteConnectionDelete.json"
+ }
+ },
+ "description": "Deletes a connection to a ExpressRoute circuit.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection subresource."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted, and the operation will continue asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections": {
+ "get": {
+ "tags": [
+ "ExpressRouteConnections"
+ ],
+ "operationId": "ExpressRouteConnections_List",
+ "x-ms-examples": {
+ "ExpressRouteConnectionList": {
+ "$ref": "./examples/ExpressRouteConnectionList.json"
+ }
+ },
+ "description": "Lists ExpressRouteConnections.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRouteGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoute gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteConnectionList"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualHubId": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription."
+ }
+ },
+ "description": "Virtual Hub identifier."
+ },
+ "ExpressRouteCircuitPeeringId": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the ExpressRoute circuit peering."
+ }
+ },
+ "description": "ExpressRoute circuit peering identifier."
+ },
+ "ExpressRouteConnectionId": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ID of the ExpressRouteConnection."
+ }
+ },
+ "description": "The ID of the ExpressRouteConnection."
+ },
+ "ExpressRouteGatewayProperties": {
+ "required": [
+ "virtualHub"
+ ],
+ "properties": {
+ "autoScaleConfiguration": {
+ "properties": {
+ "bounds": {
+ "properties": {
+ "min": {
+ "type": "integer",
+ "description": "Minimum number of scale units deployed for ExpressRoute gateway."
+ },
+ "max": {
+ "type": "integer",
+ "description": "Maximum number of scale units deployed for ExpressRoute gateway."
+ }
+ },
+ "description": "Minimum and maximum number of scale units to deploy."
+ }
+ },
+ "description": "Configuration for auto scaling."
+ },
+ "expressRouteConnections": {
+ "type": "array",
+ "readOnly": true,
+ "description": "List of ExpressRoute connections to the ExpressRoute gateway.",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource.",
+ "enum":[
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "virtualHub": {
+ "$ref": "#/definitions/VirtualHubId",
+ "description": "The Virtual Hub where the ExpressRoute gateway is or will be deployed."
+ }
+ },
+ "description": "ExpressRoute gateway resource properties."
+ },
+ "ExpressRouteGateway": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteGatewayProperties"
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "ExpressRoute gateway resource."
+ },
+ "ExpressRouteGatewayList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteGateway"
+ },
+ "description": "List of ExpressRoute gateways."
+ }
+ },
+ "description": "List of ExpressRoute gateways."
+ },
+ "ExpressRouteConnectionProperties": {
+ "required": [
+ "expressRouteCircuitPeering"
+ ],
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource.",
+ "enum":[
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "expressRouteCircuitPeering": {
+ "$ref": "#/definitions/ExpressRouteCircuitPeeringId",
+ "description": "The ExpressRoute circuit peering."
+ },
+ "authorizationKey": {
+ "type": "string",
+ "description": "Authorization key to establish the connection."
+ },
+ "routingWeight": {
+ "type": "integer",
+ "description": "The routing weight associated to the connection."
+ }
+ },
+ "description": "Properties of the ExpressRouteConnection subresource."
+ },
+ "ExpressRouteConnection": {
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteConnectionProperties"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "ExpressRouteConnection resource."
+ },
+ "ExpressRouteConnectionList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteConnection"
+ },
+ "description": "The list of ExpressRoute connections"
+ }
+ },
+ "description": "ExpressRouteConnection list"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRoutePort.json
new file mode 100644
index 000000000000..306c6b24cbc9
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/expressRoutePort.json
@@ -0,0 +1,747 @@
+{
+ "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-12-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/ExpressRoutePortsLocations": {
+ "get": {
+ "tags": [
+ "ExpressRoutePortsLocations"
+ ],
+ "operationId": "ExpressRoutePortsLocations_List",
+ "description": "Retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. Available bandwidths can only be obtained when retrieving a specific peering location.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the list of all ExpressRoutePort peering locations.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePortsLocationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortsLocationList": { "$ref": "./examples/ExpressRoutePortsLocationList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}": {
+ "get": {
+ "tags": [
+ "ExpressRoutePortsLocations"
+ ],
+ "operationId": "ExpressRoutePortsLocations_Get",
+ "description": "Retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at said peering location.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the requested ExpressRoutePort peering location."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the requested ExpressRoutePort peering location.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePortsLocation"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortsLocationGet": { "$ref": "./examples/ExpressRoutePortsLocationGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}": {
+ "delete": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_Delete",
+ "description": "Deletes the specified ExpressRoutePort resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ExpressRoutePortDelete": { "$ref": "./examples/ExpressRoutePortDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_Get",
+ "description": "Retrieves the requested ExpressRoutePort resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of ExpressRoutePort."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the requested ExpressRoutePort resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortGet": { "$ref": "./examples/ExpressRoutePortGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_CreateOrUpdate",
+ "description": "Creates or updates the specified ExpressRoutePort resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ },
+ "description": "Parameters supplied to the create ExpressRoutePort operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ExpressRoutePort resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ExpressRoutePortCreate": { "$ref": "./examples/ExpressRoutePortCreate.json" },
+ "ExpressRoutePortUpdateLink": { "$ref": "./examples/ExpressRoutePortUpdateLink.json" }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_UpdateTags",
+ "description": "Update ExpressRoutePort tags",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update ExpressRoutePort resource tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ExpressRoutePort resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ExpressRoutePortUpdateTags": { "$ref": "./examples/ExpressRoutePortUpdateTags.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts": {
+ "get": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_ListByResourceGroup",
+ "description": "List all the ExpressRoutePort resources in the specified resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePortListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortListByResourceGroup": { "$ref": "./examples/ExpressRoutePortListByResourceGroup.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts": {
+ "get": {
+ "tags": [
+ "ExpressRoutePorts"
+ ],
+ "operationId": "ExpressRoutePorts_List",
+ "description": "List all the ExpressRoutePort resources in the specified subscription",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRoutePort resources. If there are no ExpressRoutePort resources then an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRoutePortListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ExpressRoutePortList": { "$ref": "./examples/ExpressRoutePortList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}": {
+ "get": {
+ "tags": [
+ "ExpressRouteLinks"
+ ],
+ "operationId": "ExpressRouteLinks_Get",
+ "description": "Retrieves the specified ExpressRouteLink resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ },
+ {
+ "name": "linkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRouteLink resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the requested ExpressRouteLink resource.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteLink"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExpressRouteLinkGet": { "$ref": "./examples/ExpressRouteLinkGet.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links": {
+ "get": {
+ "tags": [
+ "ExpressRouteLinks"
+ ],
+ "operationId": "ExpressRouteLinks_List",
+ "description": "Retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "expressRoutePortName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ExpressRoutePort resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ExpressRouteLink resources. If there are no ExpressRouteLink resources then an empty list is returned.",
+ "schema": {
+ "$ref": "#/definitions/ExpressRouteLinkListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ExpressRouteLinkGet": { "$ref": "./examples/ExpressRouteLinkList.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ExpressRoutePortsLocationBandwidths": {
+ "title": "ExpressRoutePorts Location Bandwidths",
+ "description" : "Real-time inventory of available ExpressRoute port bandwidths.",
+ "properties": {
+ "offerName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Bandwidth descriptive name"
+ },
+ "valueInGbps": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "Bandwidth value in Gbps"
+ }
+ }
+ },
+ "ExpressRoutePortsLocationPropertiesFormat": {
+ "title": "ExpressRoutePorts Location Properties",
+ "description" : "Properties specific to ExpressRoutePorts peering location resources.",
+ "properties": {
+ "address": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Address of peering location."
+ },
+ "contact": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Contact details of peering locations."
+ },
+ "availableBandwidths": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRoutePortsLocationBandwidths"
+ },
+ "description": "The inventory of available ExpressRoutePort bandwidths."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the ExpressRoutePortLocation resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ }
+ }
+ },
+ "ExpressRoutePortsLocation": {
+ "title": "ExpressRoutePorts Peering Location",
+ "description": "Definition of the ExpressRoutePorts peering location resource.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRoutePortsLocationPropertiesFormat",
+ "description": "ExpressRoutePort peering location properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ExpressRoutePortsLocationListResult": {
+ "title": "ExpressRoutePorts Location List Result",
+ "description": "Response for ListExpressRoutePortsLocations API service call.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRoutePortsLocation"
+ },
+ "description": "The list of all ExpressRoutePort peering locations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ }
+ },
+ "ExpressRouteLinkPropertiesFormat": {
+ "title": "ExpressRouteLink Resource Properties",
+ "description": "Properties specific to ExpressRouteLink resources.",
+ "properties": {
+ "routerName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of Azure router associated with physical port."
+ },
+ "interfaceName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of Azure router interface."
+ },
+ "patchPanelId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Mapping between physical port to patch panel port."
+ },
+ "rackId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Mapping of physical patch panel to rack."
+ },
+ "connectorType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Physical fiber port type.",
+ "enum": [
+ "LC",
+ "SC"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteLinkConnectorType",
+ "modelAsString": true
+ }
+ },
+ "adminState": {
+ "type": "string",
+ "description": "Administrative state of the physical port",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRouteLinkAdminState",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the ExpressRouteLink resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ }
+ }
+ },
+ "ExpressRouteLink": {
+ "title" : "ExpressRouteLink",
+ "description": "ExpressRouteLink child resource definition.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRouteLinkPropertiesFormat",
+ "description": "ExpressRouteLink properties"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of child port resource that is unique among child port resources of the parent."
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ]
+ },
+ "ExpressRouteLinkListResult": {
+ "title": "ExpressRouteLink List Result",
+ "description": "Response for ListExpressRouteLinks API service call.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteLink"
+ },
+ "description": "The list of ExpressRouteLink sub-resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ }
+ },
+ "ExpressRoutePortPropertiesFormat": {
+ "title": "ExpressRoutePort Properties",
+ "description" : "Properties specific to ExpressRoutePort resources.",
+ "properties": {
+ "peeringLocation": {
+ "type": "string",
+ "description": "The name of the peering location that the ExpressRoutePort is mapped to physically."
+ },
+ "bandwidthInGbps": {
+ "type": "integer",
+ "description": "Bandwidth of procured ports in Gbps"
+ },
+ "provisionedBandwidthInGbps": {
+ "readOnly": true,
+ "type": "number",
+ "description": "Aggregate Gbps of associated circuit bandwidths."
+ },
+ "mtu": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Maximum transmission unit of the physical port pair(s)"
+ },
+ "encapsulation": {
+ "type": "string",
+ "description": "Encapsulation method on physical ports.",
+ "enum": [
+ "Dot1Q",
+ "QinQ"
+ ],
+ "x-ms-enum": {
+ "name": "ExpressRoutePortsEncapsulation",
+ "modelAsString": true
+ }
+ },
+ "etherType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Ether type of the physical port."
+ },
+ "allocationDate": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Date of the physical port allocation to be used in Letter of Authorization."
+ },
+ "links": {
+ "title" : "ExpressRouteLink Sub-Resources",
+ "description" : "The set of physical links of the ExpressRoutePort resource",
+ "readOnly": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRouteLink"
+ }
+ },
+ "circuits": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the ExpressRoutePort resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the ExpressRoutePort resource."
+ }
+ }
+ },
+ "ExpressRoutePort": {
+ "title": "ExpressRoute Port",
+ "description": "ExpressRoutePort resource definition.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExpressRoutePortPropertiesFormat",
+ "description": "ExpressRoutePort properties"
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ExpressRoutePortListResult": {
+ "title": "ExpressRoute Port List Result",
+ "description": "Response for ListExpressRoutePorts API service call.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressRoutePort"
+ },
+ "description": "A list of ExpressRoutePort resources."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/interfaceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/interfaceEndpoint.json
new file mode 100644
index 000000000000..528341cb8a38
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/interfaceEndpoint.json
@@ -0,0 +1,338 @@
+{
+ "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-12-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/interfaceEndpoints/{interfaceEndpointName}": {
+ "delete": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_Delete",
+ "description": "Deletes the specified interface endpoint.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "interfaceEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the interface endpoint."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 interface endpoint": { "$ref": "./examples/InterfaceEndpointDelete.json" }
+ }
+ },
+ "get": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_Get",
+ "description": "Gets the specified interface endpoint by resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "interfaceEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the interface endpoint."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting InterfaceEndpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get interface endpoint": { "$ref": "./examples/InterfaceEndpointGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_CreateOrUpdate",
+ "description": "Creates or updates an interface endpoint in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "interfaceEndpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the interface endpoint."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ },
+ "description": "Parameters supplied to the create or update interface endpoint operation"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting InterfaceEndpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting InterfaceEndpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create interface endpoint": { "$ref": "./examples/InterfaceEndpointCreate.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints": {
+ "get": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_List",
+ "description": "Gets all interface endpoints in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of InterfaceEndpoint resources.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpointListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List interface endpoints in resource group": { "$ref": "./examples/InterfaceEndpointList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/interfaceEndpoints": {
+ "get": {
+ "tags": [
+ "InterfaceEndpoints"
+ ],
+ "operationId": "InterfaceEndpoints_ListBySubscription",
+ "description": "Gets all interface endpoints in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of InterfaceEndpoint resources.",
+ "schema": {
+ "$ref": "#/definitions/InterfaceEndpointListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all interface endpoints": { "$ref": "./examples/InterfaceEndpointListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "InterfaceEndpoint": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/InterfaceEndpointProperties",
+ "description": "Properties of the interface endpoint."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Interface endpoint resource."
+ },
+ "InterfaceEndpointProperties": {
+ "properties": {
+ "fqdn": {
+ "type": "string",
+ "description": "A first-party service's FQDN that is mapped to the private IP allocated via this interface endpoint."
+ },
+ "endpointService": {
+ "$ref": "#/definitions/EndpointService",
+ "description": "A reference to the service being brought into the virtual network."
+ },
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The ID of the subnet from which the private IP will be allocated."
+ },
+ "networkInterfaces": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterface"
+ },
+ "description": "Gets an array of references to the network interfaces created for this interface endpoint."
+ },
+ "owner": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A read-only property that identifies who created this interface endpoint."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the interface endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the interface endpoint."
+ },
+ "EndpointService": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique identifier of the service being referenced by the interface endpoint."
+ }
+ },
+ "description": "Identifies the service being brought into the virtual network."
+ },
+ "InterfaceEndpointListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InterfaceEndpoint"
+ },
+ "description": "Gets a list of InterfaceEndpoint resources in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results.",
+ "readOnly": true
+ }
+ },
+ "description": "Response for the ListInterfaceEndpoints API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/loadBalancer.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/loadBalancer.json
new file mode 100644
index 000000000000..0de884639375
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/loadBalancer.json
@@ -0,0 +1,1804 @@
+{
+ "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-12-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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}/outboundRules": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerOutboundRules_List",
+ "description": "Gets all the outbound 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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LoadBalancer OutboundRule resources.",
+ "schema": {
+ "$ref": "#/definitions/LoadBalancerOutboundRuleListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "LoadBalancerOutboundRuleList": { "$ref": "./examples/LoadBalancerOutboundRuleList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}": {
+ "get": {
+ "tags": [
+ "LoadBalancers"
+ ],
+ "operationId": "LoadBalancerOutboundRules_Get",
+ "description": "Gets the specified load balancer outbound 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": "outboundRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the outbound rule."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting OutboundRule resource.",
+ "schema": {
+ "$ref": "#/definitions/OutboundRule"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "LoadBalancerOutboundRuleGet": { "$ref": "./examples/LoadBalancerOutboundRuleGet.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ },
+ "outboundRules": {
+ "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."
+ },
+ "publicIPPrefix": {
+ "$ref":"./network.json#/definitions/SubResource",
+ "description": "The reference of the Public IP Prefix 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."
+ },
+ "outboundRule": {
+ "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."
+ },
+ "enableTcpReset": {
+ "type": "boolean",
+ "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
+ },
+ "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', 'Tcp', or 'Https'. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful.",
+ "enum": [
+ "Http",
+ "Tcp",
+ "Https"
+ ],
+ "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."
+ },
+ "enableTcpReset": {
+ "type": "boolean",
+ "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
+ },
+ "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."
+ },
+ "enableTcpReset": {
+ "type": "boolean",
+ "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
+ },
+ "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."
+ },
+ "OutboundRulePropertiesFormat": {
+ "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'."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Protocol - TCP, UDP or All",
+ "enum": [
+ "Tcp",
+ "Udp",
+ "All"
+ ]
+ },
+ "enableTcpReset": {
+ "type": "boolean",
+ "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "description": "The timeout for the TCP idle connection"
+ }
+ },
+ "required": [
+ "backendAddressPool",
+ "frontendIPConfigurations",
+ "protocol"
+ ],
+ "description": "Outbound pool of the load balancer."
+ },
+ "OutboundRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OutboundRulePropertiesFormat",
+ "description": "Properties of load balancer outbound 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 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."
+ },
+ "outboundRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundRule"
+ },
+ "description": "The outbound 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."
+ },
+ "LoadBalancerOutboundRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundRule"
+ },
+ "description": "A list of outbound rules in a load balancer."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListOutboundRule 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
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/network.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/network.json
new file mode 100644
index 000000000000..df07f99dcd5e
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/network.json
@@ -0,0 +1,213 @@
+{
+ "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-12-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": {
+ },
+ "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."
+ },
+ "ManagedServiceIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the resource."
+ }
+ },
+ "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-12-01/networkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkInterface.json
new file mode 100644
index 000000000000..a38142312476
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkInterface.json
@@ -0,0 +1,1393 @@
+{
+ "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-12-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}": {
+ "delete": {
+ "tags": [
+ "Network Interfaces"
+ ],
+ "operationId": "NetworkInterfaceTapConfigurations_Delete",
+ "description": "Deletes the specified tap configuration from the NetworkInterface.",
+ "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": "tapConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tap configuration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples":
+ {
+ "Delete tap configuration": { "$ref": "./examples/NetworkInterfaceTapConfigurationDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceTapConfigurations_Get",
+ "description": "Get the specified tap configuration on 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": "tapConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tap configuration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a tap configuration.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ }
+ }
+ },
+ "x-ms-examples":
+ {
+ "Get Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "Network Interfaces"
+ ],
+ "operationId": "NetworkInterfaceTapConfigurations_CreateOrUpdate",
+ "description": "Creates or updates a Tap configuration in the specified NetworkInterface.",
+ "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": "tapConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tap configuration."
+ },
+ {
+ "name": "tapConfigurationParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ },
+ "description": "Parameters supplied to the create or update tap configuration operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting Tap Configuration resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting Tap configuration resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ }
+ }
+ },
+ "x-ms-examples":
+ {
+ "Create Network Interface Tap Configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations": {
+ "get": {
+ "tags": [
+ "NetworkInterfaces"
+ ],
+ "operationId": "NetworkInterfaceTapConfigurations_List",
+ "description": "Get all Tap 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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkInterface TapConfiguration resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfigurationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual network tap configurations": { "$ref": "./examples/NetworkInterfaceTapConfigurationList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkInterfaceTapConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfaceTapConfigurationPropertiesFormat",
+ "description": "Properties of the Virtual Network Tap 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."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Tap configuration in a Network Interface"
+ },
+ "NetworkInterfaceTapConfigurationPropertiesFormat": {
+ "properties": {
+ "virtualNetworkTap": {
+ "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap",
+ "description": "The reference of the Virtual Network Tap resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the network interface tap configuration. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of Virtual Network Tap configuration."
+ },
+ "NetworkInterfaceIPConfigurationPropertiesFormat": {
+ "properties": {
+ "virtualNetworkTaps": {
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetworkTap.json#/definitions/VirtualNetworkTap"
+ },
+ "description": "The reference to Virtual Network Taps."
+ },
+ "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.",
+ "readOnly": true
+ },
+ "networkSecurityGroup": {
+ "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup",
+ "description": "The reference of the NetworkSecurityGroup resource."
+ },
+ "interfaceEndpoint": {
+ "readOnly": true,
+ "$ref": "./interfaceEndpoint.json#/definitions/InterfaceEndpoint",
+ "description": "A reference to the interface endpoint to which the network interface is linked."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceIPConfiguration"
+ },
+ "description": "A list of IPConfigurations of the network interface."
+ },
+ "tapConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ },
+ "description": "A list of TapConfigurations 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."
+ },
+ "hostedWorkloads": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "A list of references to linked BareMetal resources"
+ },
+ "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."
+ },
+ "NetworkInterfaceTapConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceTapConfiguration"
+ },
+ "description": "A list of tap configurations."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for list tap configurations 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 separator (e.g. 100-400), or an asterisk (*)"
+ },
+ "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 separator (e.g. 100-400), or an asterisk (*)"
+ },
+ "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, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
+ },
+ "destinationAddressPrefixes" : {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*)."
+ },
+ "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"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkProfile.json
new file mode 100644
index 000000000000..ddcb94b350b0
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkProfile.json
@@ -0,0 +1,575 @@
+{
+ "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-12-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/networkProfiles/{networkProfileName}": {
+ "delete": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_Delete",
+ "description": "Deletes the specified network profile.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the NetworkProfile."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 profile": {
+ "$ref": "./examples/NetworkProfileDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ },
+ "get": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_Get",
+ "description": "Gets the specified network profile in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP prefix."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting NetworkProfile resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get network profile": {
+ "$ref": "./examples/NetworkProfileGetConfigOnly.json"
+ },
+ "Get network profile with container network interfaces": {
+ "$ref": "./examples/NetworkProfileGetWithContainerNic.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_CreateOrUpdate",
+ "description": "Creates or updates a network profile.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network profile."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ },
+ "description": "Parameters supplied to the create or update network profile operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting NetworkProfile resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkProfile resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create network profile defaults": {
+ "$ref": "./examples/NetworkProfileCreateConfigOnly.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ },
+ "patch": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_UpdateTags",
+ "description": "Updates network profile tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "networkProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the network profile."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update network profile tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting NetworkProfile resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update network profile tags": {
+ "$ref": "./examples/NetworkProfileUpdateTags.json"
+ }
+ },
+ "x-ms-long-running-operation": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles": {
+ "get": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_ListAll",
+ "description": "Gets all the network profiles in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkProfile resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfileListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all network profiles": {
+ "$ref": "./examples/NetworkProfileListAll.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles": {
+ "get": {
+ "tags": [
+ "NetworkProfiles"
+ ],
+ "operationId": "NetworkProfiles_List",
+ "description": "Gets all network profiles in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of NetworkProfile resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkProfileListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group network profiles": {
+ "$ref": "./examples/NetworkProfileList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NetworkProfilePropertiesFormat": {
+ "properties": {
+ "containerNetworkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerNetworkInterface"
+ },
+ "description": "List of child container network interfaces."
+ },
+ "containerNetworkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerNetworkInterfaceConfiguration"
+ },
+ "description": "List of chid container network interface configurations."
+ },
+ "resourceGuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource GUID property of the network interface resource."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Network profile properties."
+ },
+ "NetworkProfile": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkProfilePropertiesFormat",
+ "description": "Network profile properties."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Network profile resource."
+ },
+ "NetworkProfileListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkProfile"
+ },
+ "description": "A list of network profiles that exist in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListNetworkProfiles API service call."
+ },
+ "ContainerNetworkInterfacePropertiesFormat": {
+ "properties": {
+ "containerNetworkInterfaceConfiguration": {
+ "$ref": "#/definitions/ContainerNetworkInterfaceConfiguration",
+ "description": "Container network interface configuration from which this container network interface is created."
+ },
+ "container": {
+ "$ref": "#/definitions/Container",
+ "description": "Reference to the container to which this container network interface is attached."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerNetworkInterfaceIpConfiguration"
+ },
+ "description": "Reference to the ip configuration on this container nic."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ }
+ },
+ "ContainerNetworkInterface": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerNetworkInterfacePropertiesFormat",
+ "description": "Container network interface properties."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Container network interface child resource."
+ },
+ "ContainerNetworkInterfaceConfigurationPropertiesFormat": {
+ "properties": {
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPConfigurationProfile"
+ },
+ "description": "A list of ip configurations of the container network interface configuration."
+ },
+ "containerNetworkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "A list of container network interfaces created from this container network interface configuration."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Container network interface configuration properties."
+ },
+ "ContainerNetworkInterfaceConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerNetworkInterfaceConfigurationPropertiesFormat",
+ "description": "Container network interface configuration properties."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Container network interface configuration child resource."
+ },
+ "IPConfigurationProfilePropertiesFormat": {
+ "properties": {
+ "subnet": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet",
+ "description": "The reference of the subnet resource to create a container network interface ip configuration."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "IP configuration profile properties."
+ },
+ "IPConfigurationProfile": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IPConfigurationProfilePropertiesFormat",
+ "description": "Properties of the IP configuration profile."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ },
+ "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 profile child resource."
+ },
+ "Container": {
+ "properties": { },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "Reference to container resource in remote resource provider."
+ },
+ "ContainerNetworkInterfaceIpConfigurationPropertiesFormat": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Properties of the container network interface IP configuration."
+ },
+ "ContainerNetworkInterfaceIpConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContainerNetworkInterfaceIpConfigurationPropertiesFormat",
+ "description": "Properties of the container network interface IP configuration."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Sub Resource type."
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "description": "The ip configuration for a container network interface."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkSecurityGroup.json
new file mode 100644
index 000000000000..7c20c056a491
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkSecurityGroup.json
@@ -0,0 +1,848 @@
+{
+ "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-12-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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. Asterisk '*' can also be used to match all ports."
+ },
+ "destinationPortRange": {
+ "type": "string",
+ "description": "The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports."
+ },
+ "sourceAddressPrefix": {
+ "type": "string",
+ "description": "The CIDR or source IP range. Asterisk '*' 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. Asterisk '*' 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 outgoing 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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkWatcher.json
new file mode 100644
index 000000000000..b76dafda490b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/networkWatcher.json
@@ -0,0 +1,3648 @@
+{
+ "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-12-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting network watcher resource.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcher"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of network watcher resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcherListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of network watcher resources.",
+ "schema": {
+ "$ref": "#/definitions/NetworkWatcherListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the topology of resource group.",
+ "schema": {
+ "$ref": "#/definitions/Topology"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request successful. The operation returns the resulting packet capture session.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a packet capture session.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the packet capture session."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful packet capture enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/PacketCaptureListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful troubleshooting request",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ },
+ "202": {
+ "description": "Accepted get troubleshooting request.",
+ "schema": {
+ "$ref": "#/definitions/TroubleshootingResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get troubleshoot result": { "$ref": "./examples/NetworkWatcherTroubleshootResultQuery.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog": {
+ "post": {
+ "tags": [
+ "NetworkWatchers",
+ "TrafficAnalytics"
+ ],
+ "operationId": "NetworkWatchers_SetFlowLogConfiguration",
+ "x-ms-long-running-operation": true,
+ "description": "Configures flow log and traffic analytics (optional) 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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for setting flow log and traffic analytics (optional) configuration.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Configure flow log": { "$ref": "./examples/NetworkWatcherFlowLogConfigure.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus": {
+ "post": {
+ "tags": [
+ "NetworkWatchers",
+ "TrafficAnalytics"
+ ],
+ "operationId": "NetworkWatchers_GetFlowLogStatus",
+ "x-ms-long-running-operation": true,
+ "description": "Queries status of flow log and traffic analytics (optional) 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 and traffic analytics (optional) status."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for query flow log and traffic analytics (optional) status.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FlowLogInformation"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Available Providers List": {
+ "$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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a connection monitor.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation stops the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation starts the connection monitor."
+ },
+ "202": {
+ "description": "Accepted. The operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful connection monitor enumeration request.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionMonitorListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List connection monitors": { "$ref": "./examples/NetworkWatcherConnectionMonitorList.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic": {
+ "post": {
+ "tags": [
+ "NetworkWatchers"
+ ],
+ "operationId": "NetworkWatchers_GetNetworkConfigurationDiagnostic",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Get network configuration diagnostic.",
+ "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/NetworkConfigurationDiagnosticParameters"
+ },
+ "description": "Parameters to get network configuration diagnostic."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the result of network configuration diagnostic.",
+ "schema": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Network configuration diagnostic": { "$ref": "./examples/NetworkWatcherNetworkConfigurationDiagnostic.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorResponse": {
+ "description": "The error object.",
+ "properties": {
+ "error": {
+ "title": "Error",
+ "$ref": "./network.json#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "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"
+ }
+ ],
+ "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": "IpFlowProtocol",
+ "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"
+ },
+ "format": {
+ "$ref": "#/definitions/FlowLogFormatParameters"
+ }
+ }
+ },
+ "FlowLogStatusParameters": {
+ "description": "Parameters that define a resource to query flow log and traffic analytics (optional) status.",
+ "required": [
+ "targetResourceId"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The target resource where getting the flow log and traffic analytics (optional) 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
+ }
+ }
+ },
+ "FlowLogFormatParameters": {
+ "description": "Parameters that define the flow log format.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The file type of flow log.",
+ "enum": [
+ "JSON"
+ ],
+ "x-ms-enum": {
+ "name": "FlowLogFormatType",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "The version (revision) of the flow log.",
+ "type": "integer",
+ "default": 0
+ }
+ }
+ },
+ "FlowLogInformation": {
+ "description": "Information on the configuration of flow log and traffic analytics (optional) .",
+ "required": [
+ "targetResourceId",
+ "properties"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "The ID of the resource to configure for flow log and traffic analytics (optional) .",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FlowLogProperties"
+ },
+ "flowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsProperties"
+ }
+ }
+ },
+ "TrafficAnalyticsProperties": {
+ "description": "Parameters that define the configuration of traffic analytics.",
+ "required": [
+ "networkWatcherFlowAnalyticsConfiguration"
+ ],
+ "properties": {
+ "networkWatcherFlowAnalyticsConfiguration": {
+ "$ref": "#/definitions/TrafficAnalyticsConfigurationProperties"
+ }
+ }
+ },
+ "TrafficAnalyticsConfigurationProperties": {
+ "description": "Parameters that define the configuration of traffic analytics.",
+ "required": [
+ "enabled",
+ "workspaceId",
+ "workspaceRegion",
+ "workspaceResourceId"
+ ],
+ "properties": {
+ "enabled": {
+ "description": "Flag to enable/disable traffic analytics.",
+ "type": "boolean"
+ },
+ "workspaceId": {
+ "description": "The resource guid of the attached workspace",
+ "type": "string"
+ },
+ "workspaceRegion": {
+ "description": "The location of the attached workspace",
+ "type": "string"
+ },
+ "workspaceResourceId": {
+ "description": "Resource Id of the attached workspace ",
+ "type": "string"
+ },
+ "trafficAnalyticsInterval": {
+ "description": "The interval in minutes which would decide how frequently TA service should do flow analytics",
+ "type": "integer"
+ }
+ }
+ },
+ "ConnectivityParameters": {
+ "description": "Parameters that determine how the connectivity check will be performed.",
+ "required": [
+ "source",
+ "destination"
+ ],
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ConnectivitySource"
+ },
+ "destination": {
+ "$ref": "#/definitions/ConnectivityDestination"
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Network protocol.",
+ "enum": [
+ "Tcp",
+ "Http",
+ "Https",
+ "Icmp"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true
+ }
+ },
+ "protocolConfiguration": {
+ "$ref": "#/definitions/ProtocolConfiguration"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "ProtocolConfiguration": {
+ "description": "Configuration of the protocol.",
+ "properties": {
+ "HTTPConfiguration": {
+ "$ref": "#/definitions/HTTPConfiguration"
+ }
+ }
+ },
+ "HTTPConfiguration": {
+ "properties": {
+ "method": {
+ "type": "string",
+ "description": "HTTP method.",
+ "enum": [
+ "Get"
+ ],
+ "x-ms-enum": {
+ "name": "HTTPMethod",
+ "modelAsString": true
+ }
+ },
+ "headers": {
+ "type": "array",
+ "description": "List of HTTP headers.",
+ "items": {
+ "$ref": "#/definitions/HTTPHeader"
+ }
+ },
+ "validStatusCodes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "description": "Valid status codes."
+ }
+ },
+ "description": "HTTP configuration of the connectivity check."
+ },
+ "HTTPHeader": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name in HTTP header."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value in HTTP header."
+ }
+ },
+ "description": "Describes the HTTP header."
+ },
+ "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": {
+ "sourceStatus": {
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Active",
+ "Inactive"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionMonitorSourceStatus",
+ "modelAsString": true
+ },
+ "description": "Status of connection monitor source."
+ },
+ "states": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionStateSnapshot"
+ },
+ "description": "Information about connection states."
+ }
+ },
+ "description": "List of connection states snapshots."
+ },
+ "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."
+ },
+ "avgLatencyInMs": {
+ "type": "integer",
+ "description": "Average latency in ms."
+ },
+ "minLatencyInMs": {
+ "type": "integer",
+ "description": "Minimum latency in ms."
+ },
+ "maxLatencyInMs": {
+ "type": "integer",
+ "description": "Maximum latency in ms."
+ },
+ "probesSent": {
+ "type": "integer",
+ "description": "The number of sent probes."
+ },
+ "probesFailed": {
+ "type": "integer",
+ "description": "The number of failed probes."
+ },
+ "hops": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of hops between the source and the destination.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityHop"
+ }
+ }
+ },
+ "description": "Connection state snapshot."
+ },
+ "NetworkConfigurationDiagnosticParameters": {
+ "description": "Parameters to get network configuration diagnostic.",
+ "required": [
+ "targetResourceId",
+ "profiles"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "description": "The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway."
+ },
+ "verbosityLevel": {
+ "type": "string",
+ "enum": [
+ "Normal",
+ "Minimum",
+ "Full"
+ ],
+ "x-ms-enum": {
+ "name": "VerbosityLevel",
+ "modelAsString": true
+ },
+ "description": "Verbosity level. Accepted values are 'Normal', 'Minimum', 'Full'."
+ },
+ "profiles": {
+ "type": "array",
+ "description": "List of network configuration diagnostic profiles.",
+ "items": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile"
+ }
+ }
+ }
+ },
+ "NetworkConfigurationDiagnosticProfile": {
+ "description": "Parameters to compare with network configuration.",
+ "required": [
+ "direction",
+ "protocol",
+ "source",
+ "destination",
+ "destinationPort"
+ ],
+ "properties": {
+ "direction": {
+ "type": "string",
+ "enum": [
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "Direction",
+ "modelAsString": true
+ },
+ "description": "The direction of the traffic. Accepted values are 'Inbound' and 'Outbound'."
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Protocol to be verified on. Accepted values are '*', TCP, UDP."
+ },
+ "source": {
+ "type": "string",
+ "description": "Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag."
+ },
+ "destination": {
+ "type": "string",
+ "description": "Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag."
+ },
+ "destinationPort": {
+ "type": "string",
+ "description": "Traffic destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100)."
+ }
+ }
+ },
+ "NetworkConfigurationDiagnosticResponse": {
+ "description": "Results of network configuration diagnostic on the target resource.",
+ "properties": {
+ "results": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of network configuration diagnostic results.",
+ "items": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticResult"
+ }
+ }
+ }
+ },
+ "NetworkConfigurationDiagnosticResult": {
+ "description": "Network configuration diagnostic result corresponded to provided traffic query.",
+ "properties": {
+ "profile": {
+ "$ref": "#/definitions/NetworkConfigurationDiagnosticProfile"
+ },
+ "networkSecurityGroupResult": {
+ "$ref": "#/definitions/NetworkSecurityGroupResult"
+ }
+ }
+ },
+ "NetworkSecurityGroupResult": {
+ "description": "Network configuration diagnostic result corresponded provided traffic query.",
+ "properties": {
+ "securityRuleAccessResult": {
+ "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
+ }
+ },
+ "evaluatedNetworkSecurityGroups": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of results network security groups diagnostic.",
+ "items": {
+ "$ref": "#/definitions/EvaluatedNetworkSecurityGroup"
+ }
+ }
+ }
+ },
+ "EvaluatedNetworkSecurityGroup": {
+ "description": "Results of network security group evaluation.",
+ "properties": {
+ "networkSecurityGroupId": {
+ "type": "string",
+ "description": "Network security group ID."
+ },
+ "appliedTo": {
+ "type": "string",
+ "description": "Resource ID of nic or subnet to which network security group is applied."
+ },
+ "matchedRule": {
+ "$ref": "#/definitions/MatchedRule"
+ },
+ "rulesEvaluationResult": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of network security rules evaluation results.",
+ "items": {
+ "$ref": "#/definitions/NetworkSecurityRulesEvaluationResult"
+ }
+ }
+ }
+ },
+ "MatchedRule": {
+ "description": "Matched rule.",
+ "properties": {
+ "ruleName": {
+ "type": "string",
+ "description": "Name of the matched network security rule."
+ },
+ "action": {
+ "type": "string",
+ "description": "The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'."
+ }
+ }
+ },
+ "NetworkSecurityRulesEvaluationResult": {
+ "description": "Network security rules evaluation result.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the network security rule."
+ },
+ "protocolMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether protocol is matched."
+ },
+ "sourceMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether source is matched."
+ },
+ "sourcePortMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether source port is matched."
+ },
+ "destinationMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether destination is matched."
+ },
+ "destinationPortMatched": {
+ "type": "boolean",
+ "description": "Value indicating whether destination port is matched."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/operation.json
new file mode 100644
index 000000000000..dbebc3cc9ef7
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/operation.json
@@ -0,0 +1,263 @@
+{
+ "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-12-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": "./network.json#/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."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpAddress.json
new file mode 100644
index 000000000000..58c1895009cd
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpAddress.json
@@ -0,0 +1,492 @@
+{
+ "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-12-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ },
+ "ddosSettings": {
+ "$ref": "#/definitions/DdosSettings",
+ "description": "The DDoS protection custom policy 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."
+ },
+ "publicIPPrefix": {
+ "$ref":"./network.json#/definitions/SubResource",
+ "description": "The Public IP Prefix this Public IP Address should be allocated from."
+ },
+ "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"
+ },
+ "DdosSettings": {
+ "properties": {
+ "ddosCustomPolicy": {
+ "readOnly": false,
+ "$ref":"./network.json#/definitions/SubResource",
+ "description": "The DDoS custom policy associated with the public IP."
+ },
+ "protectionCoverage": {
+ "readOnly": false,
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "description": "The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized."
+ }
+ },
+ "description": "Contains the DDoS protection settings of the public IP."
+ },
+ "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 object"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpPrefix.json
new file mode 100644
index 000000000000..bff8fd0eff32
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/publicIpPrefix.json
@@ -0,0 +1,440 @@
+{
+ "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-12-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/publicIPPrefixes/{publicIpPrefixName}": {
+ "delete": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_Delete",
+ "description": "Deletes the specified public IP prefix.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpPrefixName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the PublicIpPrefix."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 prefix": { "$ref": "./examples/PublicIpPrefixDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_Get",
+ "description": "Gets the specified public IP prefix in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpPrefixName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP prefix."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting PublicIPPrefix resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get public IP prefix": { "$ref": "./examples/PublicIpPrefixGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_CreateOrUpdate",
+ "description": "Creates or updates a static or dynamic public IP prefix.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpPrefixName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP prefix."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ },
+ "description": "Parameters supplied to the create or update public IP prefix operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting PublicIPPrefix resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting PublicIPPrefix resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create public IP prefix defaults": { "$ref": "./examples/PublicIpPrefixCreateDefaults.json" },
+ "Create public IP prefix allocation method": { "$ref": "./examples/PublicIpPrefixCreateCustomizedValues.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_UpdateTags",
+ "description": "Updates public IP prefix tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "publicIpPrefixName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the public IP prefix."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update public IP prefix tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting PublicIPPrefix resource.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update public IP prefix tags": { "$ref": "./examples/PublicIpPrefixUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes": {
+ "get": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_ListAll",
+ "description": "Gets all the public IP prefixes in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPPrefix resources.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefixListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all public IP prefixes": { "$ref": "./examples/PublicIpPrefixListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes": {
+ "get": {
+ "tags": [
+ "PublicIPPrefixes"
+ ],
+ "operationId": "PublicIPPrefixes_List",
+ "description": "Gets all public IP prefixes in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of PublicIPPrefix resources.",
+ "schema": {
+ "$ref": "#/definitions/PublicIPPrefixListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group public IP prefixes": { "$ref": "./examples/PublicIpPrefixList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PublicIPPrefixSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a public IP prefix SKU.",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "PublicIPPrefixSkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "SKU of a public IP prefix"
+ },
+ "PublicIPPrefixPropertiesFormat": {
+ "properties": {
+ "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
+ }
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpTag"
+ },
+ "description": "The list of tags associated with the public IP prefix."
+ },
+ "prefixLength": {
+ "type": "integer",
+ "format":"int32",
+ "description": "The Length of the Public IP Prefix."
+ },
+ "ipPrefix" : {
+ "type":"string",
+ "description": "The allocated Prefix"
+ },
+ "publicIPAddresses": {
+ "type":"array",
+ "items":{
+ "$ref": "#/definitions/ReferencedPublicIpAddress"
+ },
+ "description":"The list of all referenced PublicIPAddresses"
+ },
+ "resourceGuid": {
+ "type": "string",
+ "description": "The resource GUID property of the public IP prefix resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the Public IP prefix resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Public IP prefix properties."
+ },
+ "PublicIPPrefix": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/PublicIPPrefixSku",
+ "description": "The public IP prefix SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PublicIPPrefixPropertiesFormat",
+ "description": "Public IP prefix 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 prefix resource."
+ },
+ "PublicIPPrefixListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PublicIPPrefix"
+ },
+ "description": "A list of public IP prefixes that exists in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListPublicIpPrefixes API service call."
+ },
+ "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 object"
+ },
+ "ReferencedPublicIpAddress":{
+ "properties":{
+ "id":{
+ "type":"string",
+ "description":"The PublicIPAddress Reference"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/routeFilter.json
new file mode 100644
index 000000000000..8dd0d55eab82
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/routeFilter.json
@@ -0,0 +1,783 @@
+{
+ "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-12-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/routeTable.json
new file mode 100644
index 000000000000..9d8174e2c7a3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/routeTable.json
@@ -0,0 +1,654 @@
+{
+ "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-12-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/serviceCommunity.json
new file mode 100644
index 000000000000..77571cfacee3
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/serviceCommunity.json
@@ -0,0 +1,149 @@
+{
+ "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-12-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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/serviceEndpointPolicy.json
new file mode 100644
index 000000000000..d2425efef626
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/serviceEndpointPolicy.json
@@ -0,0 +1,647 @@
+{
+ "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-12-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/serviceEndpointPolicies/{serviceEndpointPolicyName}": {
+ "delete": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_Delete",
+ "description": "Deletes the specified service endpoint policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 service endpoint policy": { "$ref": "./examples/ServiceEndpointPolicyDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_Get",
+ "description": "Gets the specified service Endpoint Policies in a specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Expands referenced resources."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ServiceEndpointPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get service endPoint Policy": { "$ref": "./examples/ServiceEndpointPolicyGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_CreateOrUpdate",
+ "description": "Creates or updates a service Endpoint Policies.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ },
+ "description": "Parameters supplied to the create or update service endpoint policy operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Create successful. The operation returns the resulting ServiceEndpointPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ }
+ },
+ "200": {
+ "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create service endpoint policy": { "$ref": "./examples/ServiceEndpointPolicyCreate.json" },
+ "Create service endpoint policy with definition": { "$ref": "./examples/ServiceEndpointPolicyCreateWithDefinition.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_Update",
+ "description": "Updates service Endpoint Policies.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update service endpoint policy tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ServiceEndpointPolicy resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update service endpoint policy tags": { "$ref": "./examples/ServiceEndpointPolicyUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies": {
+ "get": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_List",
+ "description": "Gets all the service endpoint policies in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all service endpoint policy": { "$ref": "./examples/ServiceEndpointPolicyListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies": {
+ "get": {
+ "tags": [
+ "ServiceEndpointPolicies"
+ ],
+ "operationId": "ServiceEndpointPolicies_ListByResourceGroup",
+ "description": "Gets all service endpoint Policies in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ServiceEndpointPolicy resources.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List resource group service endpoint policies": { "$ref": "./examples/ServiceEndpointPolicyList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}": {
+ "delete": {
+ "tags": [
+ "ServiceEndpointPolicyDefinitions"
+ ],
+ "operationId": "ServiceEndpointPolicyDefinitions_Delete",
+ "description": "Deletes the specified ServiceEndpoint policy definitions.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Service Endpoint Policy."
+ },
+ {
+ "name": "serviceEndpointPolicyDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy definition."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 service endpoint policy definitions from service endpoint policy": { "$ref": "./examples/ServiceEndpointPolicyDefinitionDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "serviceEndpointPolicyDefinitions"
+ ],
+ "operationId": "ServiceEndpointPolicyDefinitions_Get",
+ "description": "Get the specified service endpoint policy definitions from service endpoint policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy name."
+ },
+ {
+ "name": "serviceEndpointPolicyDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy definition name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get service endpoint definition in service endpoint policy": { "$ref": "./examples/ServiceEndpointPolicyDefinitionGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "serviceEndpointPolicyDefinitions"
+ ],
+ "operationId": "ServiceEndpointPolicyDefinitions_CreateOrUpdate",
+ "description": "Creates or updates a service endpoint policy definition in the specified service endpoint policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy."
+ },
+ {
+ "name": "serviceEndpointPolicyDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy definition name."
+ },
+ {
+ "name": "ServiceEndpointPolicyDefinitions",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ },
+ "description": "Parameters supplied to the create or update service endpoint policy operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting ServiceEndpointPolicyDefinition resource.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create service endpoint policy definition": { "$ref": "./examples/ServiceEndpointPolicyDefinitionCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions": {
+ "get": {
+ "tags": [
+ "ServiceEndpointPolicyDefinitions"
+ ],
+ "operationId": "ServiceEndpointPolicyDefinitions_ListByResourceGroup",
+ "description": "Gets all service endpoint policy definitions in a service end point policy.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "serviceEndpointPolicyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the service endpoint policy name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of ServiceEndpointPolicyDefinition resources.",
+ "schema": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinitionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List service endpoint definitions in service end point policy": { "$ref": "./examples/ServiceEndpointPolicyDefinitionList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ServiceEndpointPolicyDefinitionPropertiesFormat": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A description for this rule. Restricted to 140 chars."
+ },
+ "service": {
+ "type": "string",
+ "description": "service endpoint name."
+ },
+ "serviceResources": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of service resources."
+ },
+ "provisioningState": {
+ "readOnly" : true,
+ "type": "string",
+ "description": "The provisioning state of the service end point policy definition. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Service Endpoint policy definition resource."
+ },
+ "ServiceEndpointPolicyDefinition": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinitionPropertiesFormat",
+ "description": "Properties of the service endpoint policy definition"
+ },
+ "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": "Service Endpoint policy definitions."
+ },
+ "ServiceEndpointPolicyDefinitionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ },
+ "description": "The service endpoint policy definition in a service endpoint policy."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy."
+ },
+ "ServiceEndpointPolicyPropertiesFormat": {
+ "properties": {
+ "serviceEndpointPolicyDefinitions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEndpointPolicyDefinition"
+ },
+ "description": "A collection of service endpoint policy definitions of the service endpoint policy."
+ },
+ "subnets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetwork.json#/definitions/Subnet"
+ },
+ "description": "A collection of references to subnets."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource GUID property of the service endpoint policy resource."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the service endpoint policy. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Service Endpoint Policy resource."
+ },
+ "ServiceEndpointPolicy": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceEndpointPolicyPropertiesFormat",
+ "description": "Properties of the service end point policy"
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Service End point policy resource."
+ },
+ "ServiceEndpointPolicyListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceEndpointPolicy"
+ },
+ "description": "A list of ServiceEndpointPolicy resources."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListServiceEndpointPolicies API service call."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/usage.json
new file mode 100644
index 000000000000..afc9b366a001
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/usage.json
@@ -0,0 +1,150 @@
+{
+ "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-12-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}/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" },
+ "List usages spaced location": { "$ref": "./examples/UsageListSpacedLocation.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."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualNetwork.json
new file mode 100644
index 000000000000..9668398b4e1b
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualNetwork.json
@@ -0,0 +1,1481 @@
+{
+ "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-12-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" },
+ "Get virtual network with a delegated subnet": { "$ref": "./examples/VirtualNetworkGetWithSubnetDelegation.json" },
+ "Get virtual network with service association links": { "$ref": "./examples/VirtualNetworkGetWithServiceAssociationLink.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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 subnet containing address prefixes": { "$ref": "./examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json" },
+ "Create virtual network with service endpoints": { "$ref": "./examples/VirtualNetworkCreateServiceEndpoints.json" },
+ "Create virtual network with delegated subnets": { "$ref": "./examples/VirtualNetworkCreateSubnetWithDelegation.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" },
+ "Get subnet with a delegation": { "$ref": "./examples/SubnetGetWithDelegation.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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" },
+ "Create subnet with a delegation": { "$ref": "./examples/SubnetCreateWithDelegation.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies": {
+ "post": {
+ "operationId": "Subnets_PrepareNetworkPolicies",
+ "description": "Prepares a subnet by applying network intent policies.",
+ "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": "prepareNetworkPoliciesRequestParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrepareNetworkPoliciesRequest"
+ },
+ "description": "Parameters supplied to prepare subnet by applying network intent policies."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Preparing subnet by applying network intent policies is successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Prepare Network Policies": { "$ref": "./examples/SubnetPrepareNetworkPolicies.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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "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": "ipAddress",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The private IP address to be verified."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": {
+ "ServiceAssociationLinkPropertiesFormat": {
+ "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 ServiceAssociationLink resource."
+ }
+ },
+ "description": "Properties of ServiceAssociationLink."
+ },
+ "ServiceAssociationLink": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceAssociationLinkPropertiesFormat",
+ "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": "ServiceAssociationLink resource."
+ },
+ "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."
+ },
+ "ServiceDelegationPropertiesFormat": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers)"
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Describes the actions permitted to the service upon delegation"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the resource."
+ }
+ },
+ "description": "Properties of a service delegation."
+ },
+ "Delegation": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceDelegationPropertiesFormat",
+ "description": "Properties of the subnet."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the resource that is unique within a subnet. 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": "Details the service to which the subnet is delegated."
+ },
+ "SubnetPropertiesFormat": {
+ "properties": {
+ "addressPrefix": {
+ "type": "string",
+ "description": "The address prefix for the subnet."
+ },
+ "addressPrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of address prefixes 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."
+ },
+ "serviceEndpointPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "./serviceEndpointPolicy.json#/definitions/ServiceEndpointPolicy"
+ },
+ "description": "An array of service endpoint policies."
+ },
+ "interfaceEndpoints": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./interfaceEndpoint.json#/definitions/InterfaceEndpoint"
+ },
+ "description": "An array of references to interface 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."
+ },
+ "ipConfigurationProfiles": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkProfile.json#/definitions/IPConfigurationProfile"
+ },
+ "description": "Array of IP configuration profiles which reference this subnet."
+ },
+ "resourceNavigationLinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceNavigationLink"
+ },
+ "description": "Gets an array of references to the external resources using subnet."
+ },
+ "serviceAssociationLinks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceAssociationLink"
+ },
+ "description": "Gets an array of references to services injecting into this subnet."
+ },
+ "delegations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Delegation"
+ },
+ "description": "Gets an array of references to the delegations on the subnet."
+ },
+ "purpose": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties."
+ },
+ "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",
+ "default": false,
+ "description": "Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource."
+ },
+ "enableVmProtection": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates if VM protection is enabled for all the subnets in the virtual network."
+ },
+ "ddosProtectionPlan": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "default": null,
+ "description": "The DDoS protection plan associated with the 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."
+ },
+ "PrepareNetworkPoliciesRequest": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the service for which subnet is being prepared for."
+ },
+ "resourceGroupName": {
+ "type": "string",
+ "description": "The name of the resource group where the Network Intent Policy will be stored."
+ },
+ "networkIntentPolicyConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkIntentPolicyConfiguration"
+ },
+ "description": "A list of NetworkIntentPolicyConfiguration."
+ }
+ }
+ },
+ "NetworkIntentPolicyConfiguration": {
+ "properties": {
+ "networkIntentPolicyName": {
+ "type": "string",
+ "description": "The name of the Network Intent Policy for storing in target subscription."
+ },
+ "sourceNetworkIntentPolicy": {
+ "$ref": "#/definitions/NetworkIntentPolicy"
+ }
+ }
+ },
+ "NetworkIntentPolicy": {
+ "properties": {
+ "etag": {
+ "type": "string",
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/Resource"
+ }
+ ],
+ "description": "Network Intent Policy resource."
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualNetworkGateway.json
new file mode 100644
index 000000000000..785964ee0e91
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualNetworkGateway.json
@@ -0,0 +1,2816 @@
+{
+ "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-12-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/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "UpdateVirtualNetworkGateway": { "$ref": "./examples/VirtualNetworkGatewayUpdate.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGateway": { "$ref": "./examples/VirtualNetworkGatewayGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "DeleteVirtualNetworkGateway": { "$ref": "./examples/VirtualNetworkGatewayDelete.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateVirtualNetworkGatewayTags": { "$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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVirtualNetworkGatewaysinResourceGroup": { "$ref": "./examples/VirtualNetworkGatewayList.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "ResetVirtualNetworkGateway": { "$ref": "./examples/VirtualNetworkGatewayReset.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_ResetVpnClientSharedKey",
+ "description": "Resets the VPN client shared key 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."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation reset the vpn client shared key of the virtual network gateway."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously"
+ }
+ },
+ "x-ms-examples": {
+ "ResetVpnClientSharedKey": { "$ref": "./examples/VirtualNetworkGatewayResetVpnClientSharedKey.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN client package URL.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GenerateVPNClientPackage": { "$ref": "./examples/VirtualNetworkGatewayGenerateVpnClientPackage.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GenerateVirtualNetworkGatewayVPNProfile": { "$ref": "./examples/VirtualNetworkGatewayGenerateVpnProfile.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "type": "string"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGatewayVPNProfilePackageURL": { "$ref": "./examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "GetVirtualNetworkGatewayBGPPeerStatus": { "$ref": "./examples/VirtualNetworkGatewayGetBGPPeerStatus.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Xml format representation for supported vpn devices.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVirtualNetworkGatewaySupportedVPNDevices": { "$ref": "./examples/VirtualNetworkGatewaySupportedVpnDevice.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "GetVirtualNetworkGatewayLearnedRoutes": { "$ref": "./examples/VirtualNetworkGatewayLearnedRoutes.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "GetVirtualNetworkGatewayAdvertisedRoutes": { "$ref": "./examples/VirtualNetworkGatewayGetAdvertisedRoutes.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_SetVpnclientIpsecParameters",
+ "description": "The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway 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": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network gateway."
+ },
+ {
+ "name": "vpnclientIpsecParams",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnClientIPsecParameters"
+ },
+ "description": "Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "200": {
+ "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.",
+ "schema": {
+ "$ref": "#/definitions/VpnClientIPsecParameters"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Set VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters": {
+ "post": {
+ "tags": [
+ "VirtualNetworkGateways"
+ ],
+ "operationId": "VirtualNetworkGateways_GetVpnclientIpsecParameters",
+ "description": "The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway 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": "virtualNetworkGatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The virtual network gateway name."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the set vpnclient ipsec parameters for P2S client of VirtualNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/VpnClientIPsecParameters"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Get VirtualNetworkGateway VpnClientIpsecParameters": { "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Xml format representation for vpn device configuration script.",
+ "schema": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetVPNDeviceConfigurationScript": { "$ref": "./examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "CreateVirtualNetworkGatewayConnection_S2S": { "$ref": "./examples/VirtualNetworkGatewayConnectionCreate.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGatewayConnection": { "$ref": "./examples/VirtualNetworkGatewayConnectionGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "Delete successful."
+ }
+ },
+ "x-ms-examples": {
+ "DeleteVirtualNetworkGatewayConnection": { "$ref": "./examples/VirtualNetworkGatewayConnectionDelete.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateVirtualNetworkGatewayConnectionTags": { "$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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "SetVirtualNetworkGatewayConnectionSharedKey": { "$ref": "./examples/VirtualNetworkGatewayConnectionSetSharedKey.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSharedKey"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetVirtualNetworkGatewayConnectionSharedKey": { "$ref": "./examples/VirtualNetworkGatewayConnectionGetSharedKey.json" }
+ }
+ }
+ },
+ "/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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation resets the virtual network gateway connection shared key.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListVirtualNetworkGatewayConnectionsinResourceGroup": { "$ref": "./examples/VirtualNetworkGatewayConnectionsList.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "ResetVirtualNetworkGatewayConnectionSharedKey": { "$ref": "./examples/VirtualNetworkGatewayConnectionResetSharedKey.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/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-examples": {
+ "CreateLocalNetworkGateway": { "$ref": "./examples/LocalNetworkGatewayCreate.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetLocalNetworkGateway": { "$ref": "./examples/LocalNetworkGatewayGet.json" }
+ }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delete successful."
+ },
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "DeleteLocalNetworkGateway": { "$ref": "./examples/LocalNetworkGatewayDelete.json" }
+ },
+ "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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGateway"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateLocalNetworkGatewayTags": { "$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": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of LocalNetworkGateway resources.",
+ "schema": {
+ "$ref": "#/definitions/LocalNetworkGatewayListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ListLocalNetworkGateways": { "$ref": "./examples/LocalNetworkGatewayList.json" }
+ },
+ "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",
+ "OpenVPN"
+ ],
+ "x-ms-enum": {
+ "name": "VpnClientProtocol",
+ "modelAsString": true
+ }
+ },
+ "description": "VpnClientProtocols for Virtual network gateway."
+ },
+ "vpnClientIpsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpsecPolicy"
+ },
+ "description": "VpnClientIpsecPolicies for virtual network gateway P2S client."
+ },
+ "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",
+ "VpnGw1AZ",
+ "VpnGw2AZ",
+ "VpnGw3AZ",
+ "ErGw1AZ",
+ "ErGw2AZ",
+ "ErGw3AZ"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewaySkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Gateway SKU tier.",
+ "enum": [
+ "Basic",
+ "HighPerformance",
+ "Standard",
+ "UltraPerformance",
+ "VpnGw1",
+ "VpnGw2",
+ "VpnGw3",
+ "VpnGw1AZ",
+ "VpnGw2AZ",
+ "VpnGw3AZ",
+ "ErGw1AZ",
+ "ErGw2AZ",
+ "ErGw3AZ"
+ ],
+ "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
+ }
+ },
+ "connectionProtocol": {
+ "$ref": "#/definitions/ConnectionProtocol",
+ "description": "Connection protocol used for this connection"
+ },
+ "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'."
+ },
+ "expressRouteGatewayBypass": {
+ "type": "boolean",
+ "description": "Bypass ExpressRoute Gateway for data forwarding"
+ }
+ },
+ "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."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "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",
+ "GCMAES256",
+ "GCMAES128"
+ ],
+ "x-ms-enum": {
+ "name": "IkeEncryption",
+ "modelAsString": true
+ }
+ },
+ "ikeIntegrity": {
+ "type": "string",
+ "description": "The IKE integrity algorithm (IKE phase 2).",
+ "enum": [
+ "MD5",
+ "SHA1",
+ "SHA256",
+ "SHA384",
+ "GCMAES256",
+ "GCMAES128"
+ ],
+ "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 Pfs Groups used in IKE Phase 2 for new child SA.",
+ "enum": [
+ "None",
+ "PFS1",
+ "PFS2",
+ "PFS2048",
+ "ECP256",
+ "ECP384",
+ "PFS24",
+ "PFS14",
+ "PFSMM"
+ ],
+ "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"
+ },
+ "ConnectionProtocol": {
+ "type": "string",
+ "description": "Gateway connection protocol. Possible values are: 'IKEv2', 'IKEv1'.",
+ "enum": [
+ "IKEv2",
+ "IKEv1"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkGatewayConnectionProtocol",
+ "modelAsString": true
+ }
+ },
+ "VpnClientIPsecParameters": {
+ "properties": {
+ "saLifeTimeSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client."
+ },
+ "saDataSizeKilobytes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.."
+ },
+ "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",
+ "GCMAES256",
+ "GCMAES128"
+ ],
+ "x-ms-enum": {
+ "name": "IkeEncryption",
+ "modelAsString": true
+ }
+ },
+ "ikeIntegrity": {
+ "type": "string",
+ "description": "The IKE integrity algorithm (IKE phase 2).",
+ "enum": [
+ "MD5",
+ "SHA1",
+ "SHA256",
+ "SHA384",
+ "GCMAES256",
+ "GCMAES128"
+ ],
+ "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 Pfs Groups used in IKE Phase 2 for new child SA.",
+ "enum": [
+ "None",
+ "PFS1",
+ "PFS2",
+ "PFS2048",
+ "ECP256",
+ "ECP384",
+ "PFS24",
+ "PFS14",
+ "PFSMM"
+ ],
+ "x-ms-enum": {
+ "name": "PfsGroup",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "saLifeTimeSeconds",
+ "saDataSizeKilobytes",
+ "ipsecEncryption",
+ "ipsecIntegrity",
+ "ikeEncryption",
+ "ikeIntegrity",
+ "dhGroup",
+ "pfsGroup"
+ ],
+ "description": "An IPSec parameters for a virtual network gateway P2S 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
+ }
+ },
+ "connectionProtocol": {
+ "$ref": "#/definitions/ConnectionProtocol",
+ "description": "Connection protocol used for this connection"
+ },
+ "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'."
+ },
+ "expressRouteGatewayBypass": {
+ "type": "boolean",
+ "description": "Bypass ExpressRoute Gateway for data forwarding"
+ }
+ },
+ "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"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualNetworkTap.json
new file mode 100644
index 000000000000..3373b73884a4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualNetworkTap.json
@@ -0,0 +1,391 @@
+{
+ "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-12-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/virtualNetworkTaps/{tapName}": {
+ "delete": {
+ "tags": [
+ "VirtualNetworkTap"
+ ],
+ "operationId": "VirtualNetworkTaps_Delete",
+ "description": "Deletes the specified virtual network tap.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "tapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network tap."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete successful."
+ },
+ "202": {
+ "description": "Accepted. Sets 'Deleting' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation."
+ },
+ "204": {
+ "description": "Request successful. Resource does not exist."
+ }
+ },
+ "x-ms-examples":
+ {
+ "Delete Virtual Network Tap resource": { "$ref": "./examples/VirtualNetworkTapDelete.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkTap"
+ ],
+ "operationId": "VirtualNetworkTaps_Get",
+ "description": "Gets information about the specified virtual network tap.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "tapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of virtual network tap."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting VirtualNetworkTap resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ }
+ }
+ },
+ "x-ms-examples":
+ {
+ "Get Virtual Network Tap": { "$ref": "./examples/VirtualNetworkTapGet.json" }
+ }
+ },
+ "put": {
+ "tags": [
+ "VirtualNetworkTap"
+ ],
+ "operationId": "VirtualNetworkTaps_CreateOrUpdate",
+ "description": "Creates or updates a Virtual Network Tap.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "tapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network tap."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ },
+ "description": "Parameters supplied to the create or update virtual network tap operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualNetworkTap resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ }
+ }
+ },
+ "x-ms-examples":
+ {
+ "Create Virtual Network Tap": { "$ref": "./examples/VirtualNetworkTapCreate.json" }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworkTap"
+ ],
+ "operationId": "VirtualNetworkTaps_UpdateTags",
+ "description": "Updates an VirtualNetworkTap tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "tapName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the tap."
+ },
+ {
+ "name": "tapParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update VirtualNetworkTap tags."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting VirtualNetworkTap resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update virtual network tap tags": { "$ref": "./examples/VirtualNetworkTapUpdateTags.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps": {
+ "get": {
+ "tags": [
+ "VirtualNetworkTaps"
+ ],
+ "operationId": "VirtualNetworkTaps_ListAll",
+ "description": "Gets all the VirtualNetworkTaps in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Virtual Network Tap resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTapListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual network taps": { "$ref": "./examples/VirtualNetworkTapListAll.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps": {
+ "get": {
+ "tags": [
+ "VirtualNetworkTaps"
+ ],
+ "operationId": "VirtualNetworkTaps_ListByResourceGroup",
+ "description": "Gets all the VirtualNetworkTaps in a subscription.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of Virtual Network Tap resources.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkTapListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List virtual network taps in resource group": { "$ref": "./examples/VirtualNetworkTapList.json" }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+},
+"definitions": {
+ "VirtualNetworkTap": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkTapPropertiesFormat",
+ "description": "Virtual Network Tap Properties."
+ },
+ "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 Tap resource"
+ },
+ "VirtualNetworkTapPropertiesFormat": {
+ "description": "Virtual Network Tap properties.",
+ "properties": {
+ "networkInterfaceTapConfigurations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceTapConfiguration",
+ "description": "The reference of the Network Interface."
+ },
+ "description": "Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped."
+ },
+ "resourceGuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resourceGuid property of the virtual network tap."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the virtual network tap. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "destinationNetworkInterfaceIPConfiguration": {
+ "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration",
+ "description": "The reference to the private IP Address of the collector nic that will receive the tap"
+ },
+ "destinationLoadBalancerFrontEndIPConfiguration": {
+ "$ref": "./loadBalancer.json#/definitions/FrontendIPConfiguration",
+ "description": "The reference to the private IP address on the internal Load Balancer that will receive the tap"
+ },
+ "destinationPort": {
+ "type": "integer",
+ "description": "The VXLAN destination port that will receive the tapped traffic."
+ }
+ }
+ },
+ "VirtualNetworkTapListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkTap"
+ },
+ "description": "A list of VirtualNetworkTaps in a resource group."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for ListVirtualNetworkTap 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-12-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualWan.json
new file mode 100644
index 000000000000..16e60797b11c
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/virtualWan.json
@@ -0,0 +1,3348 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "VirtualWANAsAServiceManagementClient",
+ "description": "REST API for Azure VirtualWAN As a Service.",
+ "version": "2018-12-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/virtualWans/{VirtualWANName}": {
+ "get": {
+ "operationId": "VirtualWans_Get",
+ "x-ms-examples": {
+ "VirtualWANGet": {
+ "$ref": "./examples/VirtualWANGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VirtualWAN.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "VirtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN being retrieved."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualWAN retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VirtualWans_CreateOrUpdate",
+ "x-ms-examples": {
+ "VirtualWANCreate": {
+ "$ref": "./examples/VirtualWANPut.json"
+ }
+ },
+ "description": "Creates a VirtualWAN resource if it doesn't exist else updates the existing VirtualWAN.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "VirtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN being created or updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "WANParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ },
+ "description": "Parameters supplied to create or update VirtualWAN."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualWAN created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "201": {
+ "description": "Create successful. The operation returns the resulting VirtualWAN resource.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualWANs"
+ ],
+ "operationId": "VirtualWans_UpdateTags",
+ "x-ms-examples": {
+ "VirtualWANUpdate": {
+ "$ref": "./examples/VirtualWANUpdateTags.json"
+ }
+ },
+ "description": "Updates a VirtualWAN tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "VirtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN being updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "WANParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to Update VirtualWAN tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualWAN updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VirtualWAN updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWAN"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VirtualWans_Delete",
+ "x-ms-examples": {
+ "VirtualWANDelete": {
+ "$ref": "./examples/VirtualWANDelete.json"
+ }
+ },
+ "description": "Deletes a VirtualWAN.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "VirtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN being deleted."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. VirtualWAN deleted."
+ },
+ "202": {
+ "description": "Request received successfully. VirtualWAN deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No VirtualWANs exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans": {
+ "get": {
+ "operationId": "VirtualWans_ListByResourceGroup",
+ "x-ms-examples": {
+ "VirtualWANListByResourceGroup": {
+ "$ref": "./examples/VirtualWANListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the VirtualWANs in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VirtualWANs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualWANsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans": {
+ "get": {
+ "operationId": "VirtualWans_List",
+ "x-ms-examples": {
+ "VirtualWANList": {
+ "$ref": "./examples/VirtualWANList.json"
+ }
+ },
+ "description": "Lists all the VirtualWANs in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VirtualWANs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualWANsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}": {
+ "get": {
+ "operationId": "VpnSites_Get",
+ "x-ms-examples": {
+ "VpnSiteGet": {
+ "$ref": "./examples/VpnSiteGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VPN site.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "name": "vpnSiteName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSite being retrieved."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnSite retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VpnSites_CreateOrUpdate",
+ "x-ms-examples": {
+ "VpnSiteCreate": {
+ "$ref": "./examples/VpnSitePut.json"
+ }
+ },
+ "description": "Creates a VpnSite resource if it doesn't exist else updates the existing VpnSite.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "name": "vpnSiteName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSite being created or updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "VpnSiteParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ },
+ "description": "Parameters supplied to create or update VpnSite."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnSite created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VpnSite created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VpnSites"
+ ],
+ "operationId": "VpnSites_UpdateTags",
+ "x-ms-examples": {
+ "VpnSiteUpdate": {
+ "$ref": "./examples/VpnSiteUpdateTags.json"
+ }
+ },
+ "description": "Updates VpnSite tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "name": "vpnSiteName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSite being updated."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "VpnSiteParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update VpnSite tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VpnSite updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VpnSite updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnSite"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VpnSites_Delete",
+ "x-ms-examples": {
+ "VpnSiteDelete": {
+ "$ref": "./examples/VpnSiteDelete.json"
+ }
+ },
+ "description": "Deletes a VpnSite.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "name": "vpnSiteName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VpnSite being deleted."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. VpnSite deleted."
+ },
+ "202": {
+ "description": "Request received successfully. VpnSite deletion is in progress"
+ },
+ "204": {
+ "description": "No VpnSites exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites": {
+ "get": {
+ "operationId": "VpnSites_ListByResourceGroup",
+ "x-ms-examples": {
+ "VpnSiteListByResourceGroup": {
+ "$ref": "./examples/VpnSiteListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the vpnSites in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnSite."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the vpnSites in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnSitesResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites": {
+ "get": {
+ "operationId": "VpnSites_List",
+ "x-ms-examples": {
+ "VpnSiteList": {
+ "$ref": "./examples/VpnSiteList.json"
+ }
+ },
+ "description": "Lists all the VpnSites in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VpnSites in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnSitesResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration": {
+ "post": {
+ "operationId": "VpnSitesConfiguration_Download",
+ "x-ms-examples": {
+ "VpnSitesConfigurationDownload": {
+ "$ref": "./examples/VpnSitesConfigurationDownload.json"
+ }
+ },
+ "description": "Gives the sas-url to download the configurations for vpn-sites in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name."
+ },
+ {
+ "name": "virtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN for which configuration of all vpn-sites is needed."
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GetVpnSitesConfigurationRequest"
+ },
+ "description": "Parameters supplied to download vpn-sites configuration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Follow the location header for sas-url to output blob."
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously. Follow the location header for sas-url to output blob."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders": {
+ "get": {
+ "operationId": "SupportedSecurityProviders",
+ "x-ms-examples": {
+ "supportedSecurityProviders": {
+ "$ref": "./examples/VirtualWanSupportedSecurityProviders.json"
+ }
+ },
+ "description": "Gives the supported security providers for the virtual wan.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name."
+ },
+ {
+ "name": "virtualWANName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWAN for which supported security providers are needed."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the object containing supported security providers.",
+ "schema": {
+ "$ref": "#/definitions/VirtualWanSecurityProviders"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}": {
+ "get": {
+ "operationId": "VirtualHubs_Get",
+ "x-ms-examples": {
+ "VirtualHubGet": {
+ "$ref": "./examples/VirtualHubGet.json"
+ }
+ },
+ "description": "Retrieves the details of a VirtualHub.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHub retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VirtualHubs_CreateOrUpdate",
+ "x-ms-examples": {
+ "VirtualHubPut": {
+ "$ref": "./examples/VirtualHubPut.json"
+ }
+ },
+ "description": "Creates a VirtualHub resource if it doesn't exist else updates the existing VirtualHub.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualHubParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ },
+ "description": "Parameters supplied to create or update VirtualHub."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHub created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VirtualHub created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualWANs"
+ ],
+ "operationId": "VirtualHubs_UpdateTags",
+ "x-ms-examples": {
+ "VirtualHubUpdate": {
+ "$ref": "./examples/VirtualHubUpdateTags.json"
+ }
+ },
+ "description": "Updates VirtualHub tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "virtualHubParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update VirtualHub tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the VirtualHub updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the VirtualHub updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualHub"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VirtualHubs_Delete",
+ "x-ms-examples": {
+ "VirtualHubDelete": {
+ "$ref": "./examples/VirtualHubDelete.json"
+ }
+ },
+ "description": "Deletes a VirtualHub.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. VirtualHub deleted."
+ },
+ "202": {
+ "description": "Request received successfully. VirtualHub deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No VirtualHubs exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs": {
+ "get": {
+ "operationId": "VirtualHubs_ListByResourceGroup",
+ "x-ms-examples": {
+ "VirtualHubListByResourceGroup": {
+ "$ref": "./examples/VirtualHubListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the VirtualHubs in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VirtualHubs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualHubsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs": {
+ "get": {
+ "operationId": "VirtualHubs_List",
+ "x-ms-examples": {
+ "VirtualHubList": {
+ "$ref": "./examples/VirtualHubList.json"
+ }
+ },
+ "description": "Lists all the VirtualHubs in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VirtualHubs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListVirtualHubsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}": {
+ "get": {
+ "operationId": "HubVirtualNetworkConnections_Get",
+ "x-ms-examples": {
+ "HubVirtualNetworkConnectionGet": {
+ "$ref": "./examples/HubVirtualNetworkConnectionGet.json"
+ }
+ },
+ "description": "Retrieves the details of a HubVirtualNetworkConnection.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vpn connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the HubVirtualNetworkConnection retrieved.",
+ "schema": {
+ "$ref": "#/definitions/HubVirtualNetworkConnection"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections": {
+ "get": {
+ "operationId": "HubVirtualNetworkConnections_List",
+ "x-ms-examples": {
+ "HubVirtualNetworkConnectionList": {
+ "$ref": "./examples/HubVirtualNetworkConnectionList.json"
+ }
+ },
+ "description": "Retrieves the details of all HubVirtualNetworkConnections.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualHub."
+ },
+ {
+ "name": "virtualHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualHub."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the HubVirtualNetworkConnections for the VirtualHub.",
+ "schema": {
+ "$ref": "#/definitions/ListHubVirtualNetworkConnectionsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}": {
+ "get": {
+ "operationId": "VpnGateways_Get",
+ "x-ms-examples": {
+ "VpnGatewayGet": {
+ "$ref": "./examples/VpnGatewayGet.json"
+ }
+ },
+ "description": "Retrieves the details of a virtual wan vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the virtual wan vpn gateway retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VpnGateways_CreateOrUpdate",
+ "x-ms-examples": {
+ "VpnGatewayPut": {
+ "$ref": "./examples/VpnGatewayPut.json"
+ }
+ },
+ "description": "Creates a virtual wan vpn gateway if it doesn't exist else updates the existing gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "vpnGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ },
+ "description": "Parameters supplied to create or Update a virtual wan vpn gateway."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the virtual wan vpn Gateway created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "201": {
+ "description": "Request successful. Returns the details of the virtual wan vpn gateway retrieved.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VpnGateways"
+ ],
+ "operationId": "VpnGateways_UpdateTags",
+ "x-ms-examples": {
+ "VpnGatewayUpdate": {
+ "$ref": "./examples/VpnGatewayUpdateTags.json"
+ }
+ },
+ "description": "Updates virtual wan vpn gateway tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "vpnGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update a virtual wan vpn gateway tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the updated gateway.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the updated gateway.",
+ "schema": {
+ "$ref": "#/definitions/VpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VpnGateways_Delete",
+ "x-ms-examples": {
+ "VpnGatewayDelete": {
+ "$ref": "./examples/VpnGatewayDelete.json"
+ }
+ },
+ "description": "Deletes a virtual wan vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Vpn Gateway deleted."
+ },
+ "202": {
+ "description": "Request received successfully. Vpn Gateway deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No vpn gateways exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways": {
+ "get": {
+ "operationId": "VpnGateways_ListByResourceGroup",
+ "x-ms-examples": {
+ "VpnGatewayListByResourceGroup": {
+ "$ref": "./examples/VpnGatewayListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the VpnGateways in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VpnGateways in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnGatewaysResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways": {
+ "get": {
+ "operationId": "VpnGateways_List",
+ "x-ms-examples": {
+ "VpnGatewayListBySubscription": {
+ "$ref": "./examples/VpnGatewayList.json"
+ }
+ },
+ "description": "Lists all the VpnGateways in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the VpnGateways in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnGatewaysResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}": {
+ "get": {
+ "operationId": "VpnConnections_Get",
+ "x-ms-examples": {
+ "VpnConnectionGet": {
+ "$ref": "./examples/VpnConnectionGet.json"
+ }
+ },
+ "description": "Retrieves the details of a vpn connection.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the vpn connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the vpn connection.",
+ "schema": {
+ "$ref": "#/definitions/VpnConnection"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "VpnConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "VpnConnectionPut": {
+ "$ref": "./examples/VpnConnectionPut.json"
+ }
+ },
+ "description": "Creates a vpn connection to a scalable vpn gateway if it doesn't exist else updates the existing connection.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "VpnConnectionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VpnConnection"
+ },
+ "description": "Parameters supplied to create or Update a VPN Connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the vpn connection created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnConnection"
+ }
+ },
+ "201": {
+ "description": "Request successful. Returns the details of the vpn connection created or updated.",
+ "schema": {
+ "$ref": "#/definitions/VpnConnection"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "VpnConnections_Delete",
+ "x-ms-examples": {
+ "VpnConnectionDelete": {
+ "$ref": "./examples/VpnConnectionDelete.json"
+ }
+ },
+ "description": "Deletes a vpn connection.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "name": "connectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the connection."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Vpn Connection deleted."
+ },
+ "202": {
+ "description": "Request received successfully. Vpn Connection deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No vpn connections exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections": {
+ "get": {
+ "operationId": "VpnConnections_ListByVpnGateway",
+ "x-ms-examples": {
+ "VpnConnectionList": {
+ "$ref": "./examples/VpnConnectionList.json"
+ }
+ },
+ "description": "Retrieves all vpn connections for a particular virtual wan vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all Vpn connections for a virtual wan vpn gateway.",
+ "schema": {
+ "$ref": "#/definitions/ListVpnConnectionsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}": {
+ "get": {
+ "operationId": "P2sVpnServerConfigurations_Get",
+ "x-ms-examples": {
+ "P2SVpnServerConfigurationGet": {
+ "$ref": "./examples/P2SVpnServerConfigurationGet.json"
+ }
+ },
+ "description": "Retrieves the details of a P2SVpnServerConfiguration.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnServerConfiguration."
+ },
+ {
+ "name": "virtualWanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWan."
+ },
+ {
+ "name": "p2SVpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the P2SVpnServerConfiguration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the P2SVpnServerConfiguration.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "P2sVpnServerConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "P2SVpnServerConfigurationPut": {
+ "$ref": "./examples/P2SVpnServerConfigurationPut.json"
+ }
+ },
+ "description": "Creates a P2SVpnServerConfiguration to associate with a VirtualWan if it doesn't exist else updates the existing P2SVpnServerConfiguration.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "virtualWanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWan."
+ },
+ {
+ "name": "p2SVpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the P2SVpnServerConfiguration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "p2SVpnServerConfigurationParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ },
+ "description": "Parameters supplied to create or Update a P2SVpnServerConfiguration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the P2SVpnServerConfiguration created or updated.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ }
+ },
+ "201": {
+ "description": "Request successful. Returns the details of the P2SVpnServerConfiguration created or updated.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "P2sVpnServerConfigurations_Delete",
+ "x-ms-examples": {
+ "P2SVpnServerConfigurationDelete": {
+ "$ref": "./examples/P2SVpnServerConfigurationDelete.json"
+ }
+ },
+ "description": "Deletes a P2SVpnServerConfiguration.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnServerConfiguration."
+ },
+ {
+ "name": "virtualWanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWan."
+ },
+ {
+ "name": "p2SVpnServerConfigurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the P2SVpnServerConfiguration."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. P2SVpnServerConfiguration deleted."
+ },
+ "202": {
+ "description": "Request received successfully. P2SVpnServerConfiguration deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No P2SVpnServerConfigurations exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations": {
+ "get": {
+ "operationId": "P2sVpnServerConfigurations_ListByVirtualWan",
+ "x-ms-examples": {
+ "P2SVpnServerConfigurationList": {
+ "$ref": "./examples/P2SVpnServerConfigurationList.json"
+ }
+ },
+ "description": "Retrieves all P2SVpnServerConfigurations for a particular VirtualWan.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the VirtualWan."
+ },
+ {
+ "name": "virtualWanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VirtualWan."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns all P2SVpnServerConfigurations for a VirtualWan.",
+ "schema": {
+ "$ref": "#/definitions/ListP2SVpnServerConfigurationsResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}": {
+ "get": {
+ "operationId": "P2sVpnGateways_Get",
+ "x-ms-examples": {
+ "P2SVpnGatewayGet": {
+ "$ref": "./examples/P2SVpnGatewayGet.json"
+ }
+ },
+ "description": "Retrieves the details of a virtual wan p2s vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "P2sVpnGateways_CreateOrUpdate",
+ "x-ms-examples": {
+ "P2SVpnGatewayPut": {
+ "$ref": "./examples/P2SVpnGatewayPut.json"
+ }
+ },
+ "description": "Creates a virtual wan p2s vpn gateway if it doesn't exist else updates the existing gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "p2SVpnGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ },
+ "description": "Parameters supplied to create or Update a virtual wan p2s vpn gateway."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the virtual wan p2s vpn Gateway created or updated.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "201": {
+ "description": "Request successful. Returns the details of the virtual wan p2s vpn gateway retrieved.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "P2SVpnGateways"
+ ],
+ "operationId": "P2sVpnGateways_UpdateTags",
+ "x-ms-examples": {
+ "P2SVpnGatewayUpdate": {
+ "$ref": "./examples/P2SVpnGatewayUpdateTags.json"
+ }
+ },
+ "description": "Updates virtual wan p2s vpn gateway tags.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "p2SVpnGatewayParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./network.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update a virtual wan p2s vpn gateway tags."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of the updated gateway.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "201": {
+ "description": "Request received successfully. Returns the details of the updated gateway.",
+ "schema": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "operationId": "P2sVpnGateways_Delete",
+ "x-ms-examples": {
+ "P2SVpnGatewayDelete": {
+ "$ref": "./examples/P2SVpnGatewayDelete.json"
+ }
+ },
+ "description": "Deletes a virtual wan p2s vpn gateway.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. P2SVpnGateway deleted."
+ },
+ "202": {
+ "description": "Request received successfully. P2SVpnGateway deletion is in progress; follow the Location header to poll for final outcome."
+ },
+ "204": {
+ "description": "No p2s vpn gateways exist by the name provided."
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways": {
+ "get": {
+ "operationId": "P2sVpnGateways_ListByResourceGroup",
+ "x-ms-examples": {
+ "P2SVpnGatewayListByResourceGroup": {
+ "$ref": "./examples/P2SVpnGatewayListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all the P2SVpnGateways in a resource group.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource group name of the P2SVpnGateway."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the P2SVpnGateways in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ListP2SVpnGatewaysResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways": {
+ "get": {
+ "operationId": "P2sVpnGateways_List",
+ "x-ms-examples": {
+ "P2SVpnGatewayListBySubscription": {
+ "$ref": "./examples/P2SVpnGatewayList.json"
+ }
+ },
+ "description": "Lists all the P2SVpnGateways in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. Returns the details of all the P2SVpnGateways in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ListP2SVpnGatewaysResult"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "./network.json#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile": {
+ "post": {
+ "tags": [
+ "P2SVpnGateways"
+ ],
+ "operationId": "P2sVpnGateways_GenerateVpnProfile",
+ "description": "Generates VPN profile for P2S client of the P2SVpnGateway in the specified resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "gatewayName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the P2SVpnGateway."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/P2SVpnProfileParameters"
+ },
+ "description": "Parameters supplied to the generate P2SVpnGateway VPN client package operation."
+ },
+ {
+ "$ref": "./network.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./network.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "VPN profile package URL.",
+ "schema": {
+ "$ref": "#/definitions/VpnProfileResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted and the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "GenerateP2SVpnGatewayVPNProfile": { "$ref": "./examples/P2SVpnGatewayGenerateVpnProfile.json" }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "VirtualWanProperties": {
+ "properties": {
+ "disableVpnEncryption": {
+ "type": "boolean",
+ "description": "Vpn encryption to be disabled or not."
+ },
+ "virtualHubs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ },
+ "description": "List of VirtualHubs in the VirtualWAN."
+ },
+ "vpnSites": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "securityProviderName": {
+ "type": "string",
+ "description": "The Security Provider name."
+ },
+ "allowBranchToBranchTraffic": {
+ "type": "boolean",
+ "description": "True if branch to branch traffic is allowed."
+ },
+ "allowVnetToVnetTraffic": {
+ "type": "boolean",
+ "description": "True if Vnet to Vnet traffic is allowed."
+ },
+ "office365LocalBreakoutCategory": {
+ "description": "The office local breakout category.",
+ "$ref": "#/definitions/OfficeTrafficCategory"
+ },
+ "p2SVpnServerConfigurations": {
+ "type": "array",
+ "description": "list of all P2SVpnServerConfigurations associated with the virtual wan.",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Parameters for VirtualWAN"
+ },
+ "VirtualWAN": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualWanProperties"
+ },
+ "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": "VirtualWAN Resource."
+ },
+ "ListVirtualWANsResult": {
+ "description": "Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualWAN"
+ },
+ "description": "List of VirtualWANs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnSiteProperties": {
+ "properties": {
+ "virtualWan": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VirtualWAN to which the vpnSite belongs"
+ },
+ "deviceProperties": {
+ "description": "The device properties",
+ "$ref": "#/definitions/DeviceProperties"
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The ip-address for the vpn-site."
+ },
+ "siteKey": {
+ "type": "string",
+ "description": "The key for vpn-site that can be used for connections."
+ },
+ "addressSpace": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The AddressSpace that contains an array of IP address ranges."
+ },
+ "bgpProperties": {
+ "$ref": "./virtualNetworkGateway.json#/definitions/BgpSettings",
+ "description": "The set of bgp properties."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "isSecuritySite": {
+ "type": "boolean",
+ "description": "IsSecuritySite flag"
+ }
+ },
+ "description": "Parameters for VpnSite"
+ },
+ "VpnSite": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnSiteProperties"
+ },
+ "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": "VpnSite Resource."
+ },
+ "ListVpnSitesResult": {
+ "description": "Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnSite"
+ },
+ "description": "List of VpnSites."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "GetVpnSitesConfigurationRequest": {
+ "properties": {
+ "vpnSites": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of resource-ids of the vpn-sites for which config is to be downloaded."
+ },
+ "outputBlobSasUrl": {
+ "type": "string",
+ "description": "The sas-url to download the configurations for vpn-sites"
+ }
+ },
+ "description": "List of Vpn-Sites"
+ },
+ "VirtualHubProperties": {
+ "properties": {
+ "virtualWan": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VirtualWAN to which the VirtualHub belongs"
+ },
+ "vpnGateway": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VpnGateway associated with this VirtualHub"
+ },
+ "p2SVpnGateway": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The P2SVpnGateway associated with this VirtualHub"
+ },
+ "expressRouteGateway": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The expressRouteGateway associated with this VirtualHub"
+ },
+ "virtualNetworkConnections": {
+ "type": "array",
+ "description": "list of all vnet connections with this VirtualHub.",
+ "items": {
+ "$ref": "#/definitions/HubVirtualNetworkConnection"
+ }
+ },
+ "addressPrefix": {
+ "type": "string",
+ "description": "Address-prefix for this VirtualHub."
+ },
+ "routeTable": {
+ "$ref": "#/definitions/VirtualHubRouteTable",
+ "description": "The routeTable associated with this virtual hub."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Parameters for VirtualHub"
+ },
+ "VirtualHubRouteTable": {
+ "properties" : {
+ "routes": {
+ "type": "array",
+ "description": "list of all routes.",
+ "items": {
+ "$ref": "#/definitions/VirtualHubRoute"
+ }
+ }
+ },
+ "description" : "VirtualHub route table"
+ },
+ "VirtualHubRoute": {
+ "properties" : {
+ "addressPrefixes": {
+ "type": "array",
+ "description": "list of all addressPrefixes.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nextHopIpAddress": {
+ "type": "string",
+ "description": "NextHop ip address."
+ }
+ },
+ "description" : "VirtualHub route"
+ },
+ "VirtualHub": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualHubProperties"
+ },
+ "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": "VirtualHub Resource."
+ },
+ "ListVirtualHubsResult": {
+ "description": "Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualHub"
+ },
+ "description": "List of VirtualHubs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnGatewayProperties": {
+ "properties": {
+ "virtualHub": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VirtualHub to which the gateway belongs"
+ },
+ "connections": {
+ "type": "array",
+ "description": "list of all vpn connections to the gateway.",
+ "items": {
+ "$ref": "#/definitions/VpnConnection"
+ }
+ },
+ "bgpSettings": {
+ "$ref": "./virtualNetworkGateway.json#/definitions/BgpSettings",
+ "description": "Local network gateway's BGP speaker settings."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "vpnGatewayScaleUnit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The scale unit for this vpn gateway."
+ }
+ },
+ "description": "Parameters for VpnGateway"
+ },
+ "VpnGateway": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnGatewayProperties"
+ },
+ "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": "VpnGateway Resource."
+ },
+ "ListVpnGatewaysResult": {
+ "description": "Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnGateway"
+ },
+ "description": "List of VpnGateways."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnConnectionProperties": {
+ "properties": {
+ "remoteVpnSite": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Id of the connected vpn site."
+ },
+ "routingWeight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "routing weight for vpn connection."
+ },
+ "connectionStatus": {
+ "description": "The connection status.",
+ "$ref": "#/definitions/VpnConnectionStatus"
+ },
+ "vpnConnectionProtocolType": {
+ "description": "Connection protocol used for this connection",
+ "$ref": "./virtualNetworkGateway.json#/definitions/ConnectionProtocol"
+ },
+ "ingressBytesTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Ingress bytes transferred."
+ },
+ "egressBytesTransferred": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "Egress bytes transferred."
+ },
+ "connectionBandwidth": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Expected bandwidth in MBPS."
+ },
+ "sharedKey": {
+ "type": "string",
+ "description": "SharedKey for the vpn connection."
+ },
+ "enableBgp": {
+ "type": "boolean",
+ "description": "EnableBgp flag"
+ },
+ "ipsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy"
+ },
+ "description": "The IPSec Policies to be considered by this connection."
+ },
+ "enableRateLimiting": {
+ "type": "boolean",
+ "description": "EnableBgp flag"
+ },
+ "enableInternetSecurity": {
+ "type": "boolean",
+ "description": "Enable internet security"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Parameters for VpnConnection"
+ },
+ "VpnConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VpnConnectionProperties"
+ },
+ "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",
+ "readOnly": true,
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "VpnConnection Resource."
+ },
+ "ListVpnConnectionsResult": {
+ "description": "Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VpnConnection"
+ },
+ "description": "List of Vpn Connections."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "HubVirtualNetworkConnectionProperties": {
+ "properties": {
+ "remoteVirtualNetwork": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "Reference to the remote virtual network."
+ },
+ "allowHubToRemoteVnetTransit": {
+ "type": "boolean",
+ "description": "VirtualHub to RemoteVnet transit to enabled or not."
+ },
+ "allowRemoteVnetToUseHubVnetGateways": {
+ "type": "boolean",
+ "description": "Allow RemoteVnet to use Virtual Hub's gateways."
+ },
+ "enableInternetSecurity": {
+ "type": "boolean",
+ "description": "Enable internet security"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ }
+ },
+ "description": "Parameters for HubVirtualNetworkConnection"
+ },
+ "HubVirtualNetworkConnection": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/HubVirtualNetworkConnectionProperties"
+ },
+ "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",
+ "readOnly": true,
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "HubVirtualNetworkConnection Resource."
+ },
+ "ListHubVirtualNetworkConnectionsResult": {
+ "description": "List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HubVirtualNetworkConnection"
+ },
+ "description": "List of HubVirtualNetworkConnections."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnSiteId": {
+ "properties": {
+ "vpnSite": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource-uri of the vpn-site for which config is to be fetched."
+ }
+ },
+ "description": "VpnSite Resource."
+ },
+ "DeviceProperties": {
+ "properties": {
+ "deviceVendor": {
+ "type": "string",
+ "description": "Name of the device Vendor."
+ },
+ "deviceModel": {
+ "type": "string",
+ "description": "Model of the device."
+ },
+ "linkSpeedInMbps": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Link speed."
+ }
+ },
+ "description": "List of properties of the device."
+ },
+ "VirtualWanSecurityProviders": {
+ "properties": {
+ "supportedProviders": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualWanSecurityProvider"
+ }
+ }
+ },
+ "description": "Collection of SecurityProviders."
+ },
+ "VirtualWanSecurityProvider": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the security provider."
+ },
+ "url": {
+ "type": "string",
+ "description": "Url of the security provider."
+ },
+ "type": {
+ "$ref": "#/definitions/VirtualWanSecurityProviderType",
+ "description": "Name of the security provider."
+ }
+ },
+ "description": "Collection of SecurityProviders."
+ },
+ "ProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "VpnConnectionStatus": {
+ "type": "string",
+ "description": "The current state of the vpn connection.",
+ "readOnly": true,
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "vpnConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "TunnelConnectionStatus": {
+ "type": "string",
+ "description": "The current state of the tunnel.",
+ "readOnly": true,
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "tunnelConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "HubVirtualNetworkConnectionStatus": {
+ "type": "string",
+ "description": "The current state of the VirtualHub to vnet connection.",
+ "readOnly": true,
+ "enum": [
+ "Unknown",
+ "Connecting",
+ "Connected",
+ "NotConnected"
+ ],
+ "x-ms-enum": {
+ "name": "HubVirtualNetworkConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "disableVpnEncryption": {
+ "type": "boolean",
+ "description": "Vpn encryption to be disabled or not."
+ },
+ "access": {
+ "type": "string",
+ "description": "Access to be allowed or denied.",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "access",
+ "modelAsString": true
+ }
+ },
+ "OfficeTrafficCategory": {
+ "type": "string",
+ "description": "The office traffic category.",
+ "readOnly": true,
+ "enum": [
+ "Optimize",
+ "OptimizeAndAllow",
+ "All",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "officeTrafficCategory",
+ "modelAsString": true
+ }
+ },
+ "VirtualWanSecurityProviderType": {
+ "type": "string",
+ "description": "The virtual wan security provider type.",
+ "readOnly": true,
+ "enum": [
+ "External",
+ "Native"
+ ],
+ "x-ms-enum": {
+ "name": "virtualWanSecurityProviderType",
+ "modelAsString": true
+ }
+ },
+ "P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat": {
+ "properties": {
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the P2SVpnServerConfiguration VPN client root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "publicCertData"
+ ],
+ "description": "Properties of VPN client root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigVpnClientRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat",
+ "description": "Properties of the P2SVpnServerConfiguration 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 P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat": {
+ "properties": {
+ "publicCertData": {
+ "type": "string",
+ "description": "The certificate public data."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the P2SVpnServerConfiguration Radius Server root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "required": [
+ "publicCertData"
+ ],
+ "description": "Properties of Radius Server root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigRadiusServerRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat",
+ "description": "Properties of the P2SVpnServerConfiguration Radius Server 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": "Radius Server root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat": {
+ "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 P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigVpnClientRevokedCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat",
+ "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 P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat": {
+ "properties": {
+ "thumbprint": {
+ "type": "string",
+ "description": "The Radius client root certificate thumbprint."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the Radius client root certificate resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ }
+ },
+ "description": "Properties of the Radius client root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigRadiusClientRootCertificate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat",
+ "description": "Properties of the Radius 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"
+ }
+ ],
+ "description": "Radius client root certificate of P2SVpnServerConfiguration."
+ },
+ "P2SVpnServerConfigurationProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name."
+ },
+ "vpnProtocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "VPN protocol enabled for the P2SVpnServerConfiguration.",
+ "enum": [
+ "IkeV2",
+ "OpenVPN"
+ ],
+ "x-ms-enum": {
+ "name": "VpnGatewayTunnelingProtocol",
+ "modelAsString": true
+ }
+ },
+ "description": "vpnProtocols for the P2SVpnServerConfiguration."
+ },
+ "p2SVpnServerConfigVpnClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfigVpnClientRootCertificate"
+ },
+ "description": "VPN client root certificate of P2SVpnServerConfiguration."
+ },
+ "p2SVpnServerConfigVpnClientRevokedCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfigVpnClientRevokedCertificate"
+ },
+ "description": "VPN client revoked certificate of P2SVpnServerConfiguration."
+ },
+ "p2SVpnServerConfigRadiusServerRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfigRadiusServerRootCertificate"
+ },
+ "description": "Radius Server root certificate of P2SVpnServerConfiguration."
+ },
+ "p2SVpnServerConfigRadiusClientRootCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfigRadiusClientRootCertificate"
+ },
+ "description": "Radius client root certificate of P2SVpnServerConfiguration."
+ },
+ "vpnClientIpsecPolicies": {
+ "type": "array",
+ "items": {
+ "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy"
+ },
+ "description": "VpnClientIpsecPolicies for P2SVpnServerConfiguration."
+ },
+ "radiusServerAddress": {
+ "type": "string",
+ "description": "The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection."
+ },
+ "radiusServerSecret": {
+ "type": "string",
+ "description": "The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the P2SVpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'."
+ },
+ "p2SVpnGateways": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ },
+ "etag": {
+ "type": "string",
+ "description": "A unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "description": "Parameters for P2SVpnServerConfiguration"
+ },
+ "P2SVpnServerConfiguration": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnServerConfigurationProperties"
+ },
+ "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",
+ "readOnly": true,
+ "description": "Gets a unique read-only string that changes whenever the resource is updated."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./network.json#/definitions/SubResource"
+ }
+ ],
+ "description": "P2SVpnServerConfiguration Resource."
+ },
+ "ListP2SVpnServerConfigurationsResult": {
+ "description": "Result of the request to list all P2SVpnServerConfigurations associated to a VirtualWan. It contains a list of P2SVpnServerConfigurations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnServerConfiguration"
+ },
+ "description": "List of P2SVpnServerConfigurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "VpnClientConnectionHealth": {
+ "properties": {
+ "totalIngressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "Total of the Ingress Bytes Transferred in this P2S Vpn connection"
+ },
+ "totalEgressBytesTransferred": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "Total of the Egress Bytes Transferred in this connection"
+ },
+ "vpnClientConnectionsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The total of p2s vpn clients connected at this time to this P2SVpnGateway."
+ },
+ "allocatedIpAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of allocated ip addresses to the connected p2s vpn clients."
+ }
+ },
+ "description": "VpnClientConnectionHealth properties"
+ },
+ "P2SVpnGatewayProperties": {
+ "properties": {
+ "virtualHub": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The VirtualHub to which the gateway belongs"
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the resource.",
+ "$ref": "#/definitions/ProvisioningState"
+ },
+ "vpnGatewayScaleUnit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The scale unit for this p2s vpn gateway."
+ },
+ "p2SVpnServerConfiguration": {
+ "$ref": "./network.json#/definitions/SubResource",
+ "description": "The P2SVpnServerConfiguration to which the p2sVpnGateway is attached to."
+ },
+ "vpnClientAddressPool": {
+ "$ref": "./virtualNetwork.json#/definitions/AddressSpace",
+ "description": "The reference of the address space resource which represents Address space for P2S VpnClient."
+ },
+ "vpnClientConnectionHealth": {
+ "readOnly": true,
+ "$ref": "#/definitions/VpnClientConnectionHealth",
+ "description": "All P2S VPN clients' connection health status."
+ }
+ },
+ "description": "Parameters for P2SVpnGateway"
+ },
+ "P2SVpnGateway": {
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/P2SVpnGatewayProperties"
+ },
+ "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": "P2SVpnGateway Resource."
+ },
+ "ListP2SVpnGatewaysResult": {
+ "description": "Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/P2SVpnGateway"
+ },
+ "description": "List of P2SVpnGateways."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "P2SVpnProfileParameters": {
+ "properties": {
+ "authenticationMethod": {
+ "type": "string",
+ "description": "VPN client Authentication Method. Possible values are: 'EAPTLS' and 'EAPMSCHAPv2'.",
+ "enum": [
+ "EAPTLS",
+ "EAPMSCHAPv2"
+ ],
+ "x-ms-enum": {
+ "name": "AuthenticationMethod",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Vpn Client Parameters for package generation"
+ },
+ "VpnProfileResponse": {
+ "properties": {
+ "profileUrl": {
+ "type": "string",
+ "description": "URL to the VPN profile"
+ }
+ },
+ "description": "Vpn Profile Response for package generation"
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/vmssNetworkInterface.json
new file mode 100644
index 000000000000..b7d61ab82bb4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/vmssNetworkInterface.json
@@ -0,0 +1,389 @@
+{
+ "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"
+ ],
+ "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.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": "./network.json#/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": "./network.json#/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": "./network.json#/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": "./network.json#/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": "./network.json#/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" }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/vmssPublicIpAddress.json
new file mode 100644
index 000000000000..d4ce2eb2ddd4
--- /dev/null
+++ b/specification/network/resource-manager/Microsoft.Network/stable/2018-12-01/vmssPublicIpAddress.json
@@ -0,0 +1,250 @@
+{
+ "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"
+ ],
+ "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.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": "./network.json#/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": "./network.json#/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": "./network.json#/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"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/network/resource-manager/readme.go.md b/specification/network/resource-manager/readme.go.md
index 3812c862f313..e8ce139c0b5c 100644
--- a/specification/network/resource-manager/readme.go.md
+++ b/specification/network/resource-manager/readme.go.md
@@ -13,6 +13,8 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2018-12
+ - tag: package-2018-11
- tag: package-2018-10
- tag: package-2018-08
- tag: package-2018-07
@@ -34,6 +36,24 @@ batch:
- tag: package-2015-05-preview
```
+### Tag: package-2018-12 and go
+
+These settings apply only when `--tag=package-2018-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-12' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-12-01/$(namespace)
+```
+
+### Tag: package-2018-11 and go
+
+These settings apply only when `--tag=package-2018-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-11' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2018-11-01/$(namespace)
+```
+
### Tag: package-2018-10 and go
These settings apply only when `--tag=package-2018-10 --go` is specified on the command line.
diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md
index bbb8d966d9ce..06654c65675e 100644
--- a/specification/network/resource-manager/readme.md
+++ b/specification/network/resource-manager/readme.md
@@ -1,931 +1,1073 @@
-# Network
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for Network.
-
----
-
-## Getting Started
-
-To build the SDK for Network, 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 Network API.
-
-``` yaml
-title: NetworkManagementClient
-description: Network Client
-openapi-type: arm
-tag: package-2018-10
-```
-
-
-### Tag: package-2018-10
-
-These settings apply only when `--tag=package-2018-10` is specified on the command line.
-
-```yaml $(tag) == 'package-2018-10'
-input-file:
- - Microsoft.Network/stable/2018-10-01/applicationGateway.json
- - Microsoft.Network/stable/2018-10-01/applicationSecurityGroup.json
- - Microsoft.Network/stable/2018-10-01/availableDelegations.json
- - Microsoft.Network/stable/2018-10-01/azureFirewall.json
- - Microsoft.Network/stable/2018-10-01/azureFirewallFqdnTag.json
- - Microsoft.Network/stable/2018-10-01/checkDnsAvailability.json
- - Microsoft.Network/stable/2018-10-01/ddosProtectionPlan.json
- - Microsoft.Network/stable/2018-10-01/endpointService.json
- - Microsoft.Network/stable/2018-10-01/expressRouteCircuit.json
- - Microsoft.Network/stable/2018-10-01/expressRouteCrossConnection.json
- - Microsoft.Network/stable/2018-10-01/expressRouteGateway.json
- - Microsoft.Network/stable/2018-10-01/expressRoutePort.json
- - Microsoft.Network/stable/2018-10-01/interfaceEndpoint.json
- - Microsoft.Network/stable/2018-10-01/loadBalancer.json
- - Microsoft.Network/stable/2018-10-01/network.json
- - Microsoft.Network/stable/2018-10-01/networkInterface.json
- - Microsoft.Network/stable/2018-10-01/networkProfile.json
- - Microsoft.Network/stable/2018-10-01/networkSecurityGroup.json
- - Microsoft.Network/stable/2018-10-01/networkWatcher.json
- - Microsoft.Network/stable/2018-10-01/operation.json
- - Microsoft.Network/stable/2018-10-01/publicIpAddress.json
- - Microsoft.Network/stable/2018-10-01/publicIpPrefix.json
- - Microsoft.Network/stable/2018-10-01/routeFilter.json
- - Microsoft.Network/stable/2018-10-01/routeTable.json
- - Microsoft.Network/stable/2018-10-01/serviceCommunity.json
- - Microsoft.Network/stable/2018-10-01/serviceEndpointPolicy.json
- - Microsoft.Network/stable/2018-10-01/usage.json
- - Microsoft.Network/stable/2018-10-01/virtualNetwork.json
- - Microsoft.Network/stable/2018-10-01/virtualNetworkGateway.json
- - Microsoft.Network/stable/2018-10-01/virtualNetworkTap.json
- - Microsoft.Network/stable/2018-10-01/virtualWan.json
- - Microsoft.Network/stable/2018-10-01/vmssNetworkInterface.json
- - Microsoft.Network/stable/2018-10-01/vmssPublicIpAddress.json
-```
-### Tag: package-2018-08
-
-These settings apply only when `--tag=package-2018-08` is specified on the command line.
-
-``` yaml $(tag) == 'package-2018-08'
-input-file:
- - Microsoft.Network/stable/2018-08-01/applicationGateway.json
- - Microsoft.Network/stable/2018-08-01/applicationSecurityGroup.json
- - Microsoft.Network/stable/2018-08-01/availableDelegations.json
- - Microsoft.Network/stable/2018-08-01/azureFirewall.json
- - Microsoft.Network/stable/2018-08-01/azureFirewallFqdnTag.json
- - Microsoft.Network/stable/2018-08-01/checkDnsAvailability.json
- - Microsoft.Network/stable/2018-08-01/ddosProtectionPlan.json
- - Microsoft.Network/stable/2018-08-01/endpointService.json
- - Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json
- - Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json
- - Microsoft.Network/stable/2018-08-01/expressRouteGateway.json
- - Microsoft.Network/stable/2018-08-01/expressRoutePort.json
- - Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json
- - Microsoft.Network/stable/2018-08-01/loadBalancer.json
- - Microsoft.Network/stable/2018-08-01/network.json
- - Microsoft.Network/stable/2018-08-01/networkInterface.json
- - Microsoft.Network/stable/2018-08-01/networkProfile.json
- - Microsoft.Network/stable/2018-08-01/networkSecurityGroup.json
- - Microsoft.Network/stable/2018-08-01/networkWatcher.json
- - Microsoft.Network/stable/2018-08-01/operation.json
- - Microsoft.Network/stable/2018-08-01/publicIpAddress.json
- - Microsoft.Network/stable/2018-08-01/publicIpPrefix.json
- - Microsoft.Network/stable/2018-08-01/routeFilter.json
- - Microsoft.Network/stable/2018-08-01/routeTable.json
- - Microsoft.Network/stable/2018-08-01/serviceCommunity.json
- - Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json
- - Microsoft.Network/stable/2018-08-01/usage.json
- - Microsoft.Network/stable/2018-08-01/virtualNetwork.json
- - Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json
- - Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json
- - Microsoft.Network/stable/2018-08-01/virtualWan.json
- - Microsoft.Network/stable/2018-08-01/vmssNetworkInterface.json
- - Microsoft.Network/stable/2018-08-01/vmssPublicIpAddress.json
-```
-
-### Tag: package-2018-07
-
-These settings apply only when `--tag=package-2018-07` is specified on the command line.
-
-``` yaml $(tag) == 'package-2018-07'
-
-input-file:
-- Microsoft.Network/stable/2018-07-01/azureFirewall.json
-- Microsoft.Network/stable/2018-07-01/applicationGateway.json
-- Microsoft.Network/stable/2018-07-01/applicationSecurityGroup.json
-- Microsoft.Network/stable/2018-07-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2018-07-01/ddosProtectionPlan.json
-- Microsoft.Network/stable/2018-07-01/endpointService.json
-- Microsoft.Network/stable/2018-07-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2018-07-01/expressRouteCrossConnection.json
-- Microsoft.Network/stable/2018-07-01/loadBalancer.json
-- Microsoft.Network/stable/2018-07-01/network.json
-- Microsoft.Network/stable/2018-07-01/networkInterface.json
-- Microsoft.Network/stable/2018-07-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2018-07-01/networkWatcher.json
-- Microsoft.Network/stable/2018-07-01/operation.json
-- Microsoft.Network/stable/2018-07-01/publicIpAddress.json
-- Microsoft.Network/stable/2018-07-01/publicIpPrefix.json
-- Microsoft.Network/stable/2018-07-01/routeFilter.json
-- Microsoft.Network/stable/2018-07-01/routeTable.json
-- Microsoft.Network/stable/2018-07-01/serviceCommunity.json
-- Microsoft.Network/stable/2018-07-01/usage.json
-- Microsoft.Network/stable/2018-07-01/virtualNetwork.json
-- Microsoft.Network/stable/2018-07-01/virtualNetworkGateway.json
-- Microsoft.Network/stable/2018-07-01/virtualWan.json
-- Microsoft.Network/stable/2018-07-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2018-07-01/vmssPublicIpAddress.json
-- Microsoft.Network/stable/2018-07-01/serviceEndpointPolicy.json
-```
-
-### Tag: package-2018-06
-
-These settings apply only when `--tag=package-2018-06` is specified on the command line.
-
-``` yaml $(tag) == 'package-2018-06'
-
-input-file:
-- Microsoft.Network/stable/2018-06-01/azureFirewall.json
-- Microsoft.Network/stable/2018-06-01/applicationGateway.json
-- Microsoft.Network/stable/2018-06-01/applicationSecurityGroup.json
-- Microsoft.Network/stable/2018-06-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2018-06-01/ddosProtectionPlan.json
-- Microsoft.Network/stable/2018-06-01/endpointService.json
-- Microsoft.Network/stable/2018-06-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2018-06-01/expressRouteCrossConnection.json
-- Microsoft.Network/stable/2018-06-01/loadBalancer.json
-- Microsoft.Network/stable/2018-06-01/network.json
-- Microsoft.Network/stable/2018-06-01/networkInterface.json
-- Microsoft.Network/stable/2018-06-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2018-06-01/networkWatcher.json
-- Microsoft.Network/stable/2018-06-01/operation.json
-- Microsoft.Network/stable/2018-06-01/publicIpAddress.json
-- Microsoft.Network/stable/2018-06-01/routeFilter.json
-- Microsoft.Network/stable/2018-06-01/routeTable.json
-- Microsoft.Network/stable/2018-06-01/serviceCommunity.json
-- Microsoft.Network/stable/2018-06-01/usage.json
-- Microsoft.Network/stable/2018-06-01/virtualNetwork.json
-- Microsoft.Network/stable/2018-06-01/virtualNetworkGateway.json
-- Microsoft.Network/stable/2018-06-01/virtualWan.json
-- Microsoft.Network/stable/2018-06-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2018-06-01/vmssPublicIpAddress.json
-```
-
-### Tag: package-2018-04
-
-These settings apply only when `--tag=package-2018-04` is specified on the command line.
-
-``` yaml $(tag) == 'package-2018-04'
-
-input-file:
-- Microsoft.Network/stable/2018-04-01/azureFirewall.json
-- Microsoft.Network/stable/2018-04-01/applicationGateway.json
-- Microsoft.Network/stable/2018-04-01/applicationSecurityGroup.json
-- Microsoft.Network/stable/2018-04-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2018-04-01/ddosProtectionPlan.json
-- Microsoft.Network/stable/2018-04-01/endpointService.json
-- Microsoft.Network/stable/2018-04-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2018-04-01/expressRouteCrossConnection.json
-- Microsoft.Network/stable/2018-04-01/loadBalancer.json
-- Microsoft.Network/stable/2018-04-01/network.json
-- Microsoft.Network/stable/2018-04-01/networkInterface.json
-- Microsoft.Network/stable/2018-04-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2018-04-01/networkWatcher.json
-- Microsoft.Network/stable/2018-04-01/operation.json
-- Microsoft.Network/stable/2018-04-01/publicIpAddress.json
-- Microsoft.Network/stable/2018-04-01/routeFilter.json
-- Microsoft.Network/stable/2018-04-01/routeTable.json
-- Microsoft.Network/stable/2018-04-01/serviceCommunity.json
-- Microsoft.Network/stable/2018-04-01/usage.json
-- Microsoft.Network/stable/2018-04-01/virtualNetwork.json
-- Microsoft.Network/stable/2018-04-01/virtualNetworkGateway.json
-- Microsoft.Network/stable/2018-04-01/virtualWan.json
-- Microsoft.Network/stable/2018-04-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2018-04-01/vmssPublicIpAddress.json
-```
-
-### 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.Network/stable/2018-02-01/applicationGateway.json
-- Microsoft.Network/stable/2018-02-01/applicationSecurityGroup.json
-- Microsoft.Network/stable/2018-02-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2018-02-01/ddosProtectionPlan.json
-- Microsoft.Network/stable/2018-02-01/endpointService.json
-- Microsoft.Network/stable/2018-02-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2018-02-01/expressRouteCrossConnection.json
-- Microsoft.Network/stable/2018-02-01/loadBalancer.json
-- Microsoft.Network/stable/2018-02-01/network.json
-- Microsoft.Network/stable/2018-02-01/networkInterface.json
-- Microsoft.Network/stable/2018-02-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2018-02-01/networkWatcher.json
-- Microsoft.Network/stable/2018-02-01/operation.json
-- Microsoft.Network/stable/2018-02-01/publicIpAddress.json
-- Microsoft.Network/stable/2018-02-01/routeFilter.json
-- Microsoft.Network/stable/2018-02-01/routeTable.json
-- Microsoft.Network/stable/2018-02-01/serviceCommunity.json
-- Microsoft.Network/stable/2018-02-01/usage.json
-- Microsoft.Network/stable/2018-02-01/virtualNetwork.json
-- Microsoft.Network/stable/2018-02-01/virtualNetworkGateway.json
-- Microsoft.Network/stable/2018-02-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2018-02-01/vmssPublicIpAddress.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.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-2018-01-only
-
-These settings apply only when `--tag=package-2018-01` is specified on the command line.
-
-``` yaml $(tag) == 'package-2018-01-only'
-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
-```
-
-### 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-11-only
-
-These settings apply only when `--tag=package-2017-11-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-11-only'
-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
-```
-
-### 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.Network/stable/2017-10-01/applicationGateway.json
-- Microsoft.Network/stable/2017-10-01/applicationSecurityGroup.json
-- Microsoft.Network/stable/2017-10-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2017-10-01/endpointService.json
-- Microsoft.Network/stable/2017-10-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2017-10-01/loadBalancer.json
-- Microsoft.Network/stable/2017-10-01/network.json
-- Microsoft.Network/stable/2017-10-01/networkInterface.json
-- Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2017-10-01/networkWatcher.json
-- Microsoft.Network/stable/2017-10-01/operation.json
-- Microsoft.Network/stable/2017-10-01/publicIpAddress.json
-- Microsoft.Network/stable/2017-10-01/routeFilter.json
-- Microsoft.Network/stable/2017-10-01/routeTable.json
-- Microsoft.Network/stable/2017-10-01/serviceCommunity.json
-- Microsoft.Network/stable/2017-10-01/usage.json
-- Microsoft.Network/stable/2017-10-01/virtualNetwork.json
-- Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json
-- Microsoft.Network/stable/2017-10-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2017-10-01/vmssPublicIpAddress.json
-```
-
-### Tag: package-2017-10-only
-
-These settings apply only when `--tag=package-2017-10-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-10-only'
-input-file:
-- Microsoft.Network/stable/2017-10-01/applicationGateway.json
-- Microsoft.Network/stable/2017-10-01/applicationSecurityGroup.json
-- Microsoft.Network/stable/2017-10-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2017-10-01/endpointService.json
-- Microsoft.Network/stable/2017-10-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2017-10-01/loadBalancer.json
-- Microsoft.Network/stable/2017-10-01/network.json
-- Microsoft.Network/stable/2017-10-01/networkInterface.json
-- Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2017-10-01/networkWatcher.json
-- Microsoft.Network/stable/2017-10-01/operation.json
-- Microsoft.Network/stable/2017-10-01/publicIpAddress.json
-- Microsoft.Network/stable/2017-10-01/routeFilter.json
-- Microsoft.Network/stable/2017-10-01/routeTable.json
-- Microsoft.Network/stable/2017-10-01/serviceCommunity.json
-- Microsoft.Network/stable/2017-10-01/usage.json
-- Microsoft.Network/stable/2017-10-01/virtualNetwork.json
-- Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json
-```
-
-### Tag: package-2017-09
-
-These settings apply only when `--tag=package-2017-09` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-09'
-input-file:
-- Microsoft.Network/stable/2017-09-01/applicationGateway.json
-- Microsoft.Network/stable/2017-09-01/applicationSecurityGroup.json
-- Microsoft.Network/stable/2017-09-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2017-09-01/endpointService.json
-- Microsoft.Network/stable/2017-09-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2017-09-01/loadBalancer.json
-- Microsoft.Network/stable/2017-09-01/network.json
-- Microsoft.Network/stable/2017-09-01/networkInterface.json
-- Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2017-09-01/networkWatcher.json
-- Microsoft.Network/stable/2017-09-01/operation.json
-- Microsoft.Network/stable/2017-09-01/publicIpAddress.json
-- Microsoft.Network/stable/2017-09-01/routeFilter.json
-- Microsoft.Network/stable/2017-09-01/routeTable.json
-- Microsoft.Network/stable/2017-09-01/serviceCommunity.json
-- Microsoft.Network/stable/2017-09-01/usage.json
-- Microsoft.Network/stable/2017-09-01/virtualNetwork.json
-- Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.json
-- Microsoft.Network/stable/2017-09-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2017-09-01/vmssPublicIpAddress.json
-```
-
-### Tag: package-2017-09-only
-
-These settings apply only when `--tag=package-2017-09-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-09-only'
-input-file:
-- Microsoft.Network/stable/2017-09-01/applicationGateway.json
-- Microsoft.Network/stable/2017-09-01/applicationSecurityGroup.json
-- Microsoft.Network/stable/2017-09-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2017-09-01/endpointService.json
-- Microsoft.Network/stable/2017-09-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2017-09-01/loadBalancer.json
-- Microsoft.Network/stable/2017-09-01/network.json
-- Microsoft.Network/stable/2017-09-01/networkInterface.json
-- Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2017-09-01/networkWatcher.json
-- Microsoft.Network/stable/2017-09-01/operation.json
-- Microsoft.Network/stable/2017-09-01/publicIpAddress.json
-- Microsoft.Network/stable/2017-09-01/routeFilter.json
-- Microsoft.Network/stable/2017-09-01/routeTable.json
-- Microsoft.Network/stable/2017-09-01/serviceCommunity.json
-- Microsoft.Network/stable/2017-09-01/usage.json
-- Microsoft.Network/stable/2017-09-01/virtualNetwork.json
-- Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.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.Network/stable/2017-08-01/applicationGateway.json
-- Microsoft.Network/stable/2017-08-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2017-08-01/endpointService.json
-- Microsoft.Network/stable/2017-08-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2017-08-01/loadBalancer.json
-- Microsoft.Network/stable/2017-08-01/network.json
-- Microsoft.Network/stable/2017-08-01/networkInterface.json
-- Microsoft.Network/stable/2017-08-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2017-08-01/networkWatcher.json
-- Microsoft.Network/stable/2017-08-01/publicIpAddress.json
-- Microsoft.Network/stable/2017-08-01/routeFilter.json
-- Microsoft.Network/stable/2017-08-01/routeTable.json
-- Microsoft.Network/stable/2017-08-01/serviceCommunity.json
-- Microsoft.Network/stable/2017-08-01/usage.json
-- Microsoft.Network/stable/2017-08-01/virtualNetwork.json
-- Microsoft.Network/stable/2017-08-01/virtualNetworkGateway.json
-- Microsoft.Network/stable/2017-08-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2017-08-01/vmssPublicIpAddress.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.Network/stable/2017-06-01/applicationGateway.json
-- Microsoft.Network/stable/2017-06-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2017-06-01/endpointService.json
-- Microsoft.Network/stable/2017-06-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2017-06-01/loadBalancer.json
-- Microsoft.Network/stable/2017-06-01/network.json
-- Microsoft.Network/stable/2017-06-01/networkInterface.json
-- Microsoft.Network/stable/2017-06-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2017-06-01/networkWatcher.json
-- Microsoft.Network/stable/2017-06-01/publicIpAddress.json
-- Microsoft.Network/stable/2017-06-01/routeFilter.json
-- Microsoft.Network/stable/2017-06-01/routeTable.json
-- Microsoft.Network/stable/2017-06-01/serviceCommunity.json
-- Microsoft.Network/stable/2017-06-01/usage.json
-- Microsoft.Network/stable/2017-06-01/virtualNetwork.json
-- Microsoft.Network/stable/2017-06-01/virtualNetworkGateway.json
-- Microsoft.Network/stable/2017-06-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2017-06-01/vmssPublicIpAddress.json
-```
-
-### 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.Network/stable/2017-03-01/applicationGateway.json
-- Microsoft.Network/stable/2017-03-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2017-03-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2017-03-01/loadBalancer.json
-- Microsoft.Network/stable/2017-03-01/network.json
-- Microsoft.Network/stable/2017-03-01/networkInterface.json
-- Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2017-03-01/networkWatcher.json
-- Microsoft.Network/stable/2017-03-01/publicIpAddress.json
-- Microsoft.Network/stable/2017-03-01/routeFilter.json
-- Microsoft.Network/stable/2017-03-01/routeTable.json
-- Microsoft.Network/stable/2017-03-01/serviceCommunity.json
-- Microsoft.Network/stable/2017-03-01/usage.json
-- Microsoft.Network/stable/2017-03-01/virtualNetwork.json
-- Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json
-- Microsoft.Network/stable/2017-03-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2017-03-01/vmssPublicIpAddress.json
-```
-
-### Tag: package-2017-03-only
-
-These settings apply only when `--tag=package-2017-03-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-03-only'
-input-file:
-- Microsoft.Network/stable/2017-03-01/applicationGateway.json
-- Microsoft.Network/stable/2017-03-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2017-03-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2017-03-01/loadBalancer.json
-- Microsoft.Network/stable/2017-03-01/network.json
-- Microsoft.Network/stable/2017-03-01/networkInterface.json
-- Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2017-03-01/networkWatcher.json
-- Microsoft.Network/stable/2017-03-01/publicIpAddress.json
-- Microsoft.Network/stable/2017-03-01/routeFilter.json
-- Microsoft.Network/stable/2017-03-01/routeTable.json
-- Microsoft.Network/stable/2017-03-01/serviceCommunity.json
-- Microsoft.Network/stable/2017-03-01/usage.json
-- Microsoft.Network/stable/2017-03-01/virtualNetwork.json
-- Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json
-```
-
-### Tag: package-2017-03-30-only
-
-These settings apply only when `--tag=package-2017-03-30-only` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-03-30-only'
-input-file:
-- Microsoft.Network/stable/2017-09-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2017-09-01/vmssPublicIpAddress.json
-```
-
-### 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.Network/stable/2016-12-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2016-12-01/applicationGateway.json
-- Microsoft.Network/stable/2016-12-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2016-12-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2016-12-01/loadBalancer.json
-- Microsoft.Network/stable/2016-12-01/network.json
-- Microsoft.Network/stable/2016-12-01/networkInterface.json
-- Microsoft.Network/stable/2016-12-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2016-12-01/networkWatcher.json
-- Microsoft.Network/stable/2016-12-01/publicIpAddress.json
-- Microsoft.Network/stable/2016-12-01/routeFilter.json
-- Microsoft.Network/stable/2016-12-01/routeTable.json
-- Microsoft.Network/stable/2016-12-01/serviceCommunity.json
-- Microsoft.Network/stable/2016-12-01/usage.json
-- Microsoft.Network/stable/2016-12-01/virtualNetwork.json
-- Microsoft.Network/stable/2016-12-01/virtualNetworkGateway.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:
-- Microsoft.Network/stable/2016-09-01/vmssNetworkInterface.json
-- Microsoft.Network/stable/2016-09-01/applicationGateway.json
-- Microsoft.Network/stable/2016-09-01/checkDnsAvailability.json
-- Microsoft.Network/stable/2016-09-01/expressRouteCircuit.json
-- Microsoft.Network/stable/2016-09-01/loadBalancer.json
-- Microsoft.Network/stable/2016-09-01/network.json
-- Microsoft.Network/stable/2016-09-01/networkInterface.json
-- Microsoft.Network/stable/2016-09-01/networkSecurityGroup.json
-- Microsoft.Network/stable/2016-09-01/networkWatcher.json
-- Microsoft.Network/stable/2016-09-01/publicIpAddress.json
-- Microsoft.Network/stable/2016-09-01/routeTable.json
-- Microsoft.Network/stable/2016-09-01/usage.json
-- Microsoft.Network/stable/2016-09-01/virtualNetwork.json
-- Microsoft.Network/stable/2016-09-01/virtualNetworkGateway.json
-```
-
-### Tag: package-2016-06
-
-These settings apply only when `--tag=package-2016-06` is specified on the command line.
-
-``` yaml $(tag) == 'package-2016-06'
-input-file:
-- Microsoft.Network/stable/2016-06-01/network.json
-```
-
-### Tag: package-2016-03
-
-These settings apply only when `--tag=package-2016-03` is specified on the command line.
-
-``` yaml $(tag) == 'package-2016-03'
-input-file:
-- Microsoft.Network/stable/2016-03-30/network.json
-```
-
-### Tag: package-2015-06split
-
-These settings apply only when `--tag=package-2015-06split` is specified on the command line.
-
-``` yaml $(tag) == 'package-2015-06split'
-input-file:
-- Microsoft.Network/stable/2015-06-15/applicationGateway.json
-- Microsoft.Network/stable/2015-06-15/checkDnsAvailability.json
-- Microsoft.Network/stable/2015-06-15/expressRouteCircuit.json
-- Microsoft.Network/stable/2015-06-15/loadBalancer.json
-- Microsoft.Network/stable/2015-06-15/network.json
-- Microsoft.Network/stable/2015-06-15/networkInterface.json
-- Microsoft.Network/stable/2015-06-15/networkSecurityGroup.json
-- Microsoft.Network/stable/2015-06-15/publicIpAddress.json
-- Microsoft.Network/stable/2015-06-15/routeTable.json
-- Microsoft.Network/stable/2015-06-15/usage.json
-- Microsoft.Network/stable/2015-06-15/virtualNetwork.json
-- Microsoft.Network/stable/2015-06-15/virtualNetworkGateway.json
-- Microsoft.Network/stable/2015-06-15/vmssNetworkInterface.json
-```
-
-### Tag: package-2015-05-preview
-
-These settings apply only when `--tag=package-2015-05-preview` is specified on the command line.
-
-``` yaml $(tag) == 'package-2015-05-preview'
-input-file:
-- Microsoft.Network/preview/2015-05-01-preview/network.json
-```
-
-## Suppression
-
-``` yaml
-directive:
- - suppress: RequiredPropertiesMissingInResourceModel
- from: applicationGateway.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: applicationSecurityGroup.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: azureFirewall.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: azureFirewallFqdnTag.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: checkDnsAvailability.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: ddosProtectionPlan.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: endpointService.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: expressRouteCircuit.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: expressRouteCrossConnection.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: expressRouteGateway.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: expressRoutePort.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: loadBalancer.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: networkInterface.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: networkSecurityGroup.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: networkWatcher.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: operation.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: publicIpAddress.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: publicIpPrefix.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: routeFilter.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: routeTable.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: serviceCommunity.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: usage.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: virtualNetwork.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: serviceEndpointPolicy.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: virtualNetworkTap.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: virtualNetworkGateway.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: interfaceEndpoint.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: networkProfile.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: availableDelegations.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: TrackedResourceListByImmediateParent
- reason: Another list APIs naming approach is used over the specs
- - suppress: EnumInsteadOfBoolean
- reason: Booleans are used by networking APIs
- - suppress: GetInOperationName
- where: $.paths["/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability"].get.operationId
- reason: Customized verb is used for API
- - suppress: GetInOperationName
- where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability"].get.operationId
- reason: Customized verb is used for API
- - suppress: PutInOperationName
- where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}"].put.operationId
- reason: Child resource is auto-created when top-level resource is created.
- - suppress: PutInOperationName
- where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey"].put.operationId
- reason: Customized verb is used for API
- - suppress: PostOperationIdContainsUrlVerb
- from: networkWatcher.json
- reason: Customized verbs are used for API
- - suppress: PostOperationIdContainsUrlVerb
- from: expressRouteCircuit.json
- reason: Customized verbs are used for API
- - suppress: PostOperationIdContainsUrlVerb
- from: expressRouteCrossConnection.json
- reason: Customized verbs are used for API
- - suppress: OperationIdNounVerb
- from: vmssPublicIpAddress.json
- reason: VMSS specs have custom naming
- - suppress: OperationIdNounVerb
- from: vmssNetworkInterface.json
- reason: VMSS specs have custom naming
- - suppress: BodyTopLevelProperties
- from: virtualNetworkGateway.json
- reason: shipped. fixing this causes breaking change in resource
-```
-
----
-
-# 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-sdk-for-java
- - repo: azure-sdk-for-go
- - repo: azure-sdk-for-js
- - repo: azure-sdk-for-node
- - repo: azure-sdk-for-ruby
- after_scripts:
- - bundle install && rake arm:regen_all_profiles['azure_mgmt_network']
-```
-
-## Suppression
-
-``` yaml
-directive:
- - suppress: RequiredPropertiesMissingInResourceModel
- from: virtualWan.json
- reason: name, id and type properties are inherited from the upper level
- - suppress: RequiredPropertiesMissingInResourceModel
- from: networkwatcher.json
- where: $.definitions.PacketCaptureResult
- reason: Packet capture is a non tracked child resource. It has 'name' and 'id' but does not have a 'type'
- - suppress: RequiredPropertiesMissingInResourceModel
- from: networkwatcher.json
- where: $.definitions.NetworkWatcher
- reason: Network watcher has reference on resource in network.json which contain 'name, 'id' and 'type'
- - suppress: DefinitionsPropertiesNamesCamelCase
- from: networkwatcher.json
- where: $.definitions.ProtocolConfiguration.properties.HTTPConfiguration
- reason: Accidentally shipped with wrong casing - however fixing the casing is introducing a breaking change which is worse than living with the naming violation
-```
-
-## Go
-
-See configuration in [readme.go.md](./readme.go.md)
-
-## Java
-
-These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(java)
-azure-arm: true
-fluent: true
-namespace: com.microsoft.azure.management.network
-license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
-output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-network
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2018-08
- - tag: package-2018-07
- - tag: package-2018-06
- - tag: package-2018-04
- - tag: package-2017-10
-```
-
-### Tag: package-2018-08 and java
-
-These settings apply only when `--tag=package-2018-08 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2018-08' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.network.v2018_08_01
- output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2018_08_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2018-07 and java
-
-These settings apply only when `--tag=package-2018-07 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2018-07' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.network.v2018_07_01
- output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2018_07_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2018-06 and java
-
-These settings apply only when `--tag=package-2018-06 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2018-06' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.network.v2018_06_01
- output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2018_06_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2018-04 and java
-
-These settings apply only when `--tag=package-2018-04 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2018-04' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.network.v2018_04_01
- output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2018_04_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2017-10 and java
-
-These settings apply only when `--tag=package-2017-10 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(tag) == 'package-2017-10' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.network.v2017_10_01
- output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2017_10_01
-regenerate-manager: true
-generate-interface: true
-```
+# Network
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Network.
+
+---
+
+## Getting Started
+
+To build the SDK for Network, 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 Network API.
+
+``` yaml
+title: NetworkManagementClient
+description: Network Client
+openapi-type: arm
+tag: package-2018-12
+```
+
+
+### Tag: package-2018-12
+
+These settings apply only when `--tag=package-2018-12` is specified on the command line.
+
+```yaml $(tag) == 'package-2018-12'
+input-file:
+ - Microsoft.Network/stable/2018-12-01/applicationGateway.json
+ - Microsoft.Network/stable/2018-12-01/applicationSecurityGroup.json
+ - Microsoft.Network/stable/2018-12-01/availableDelegations.json
+ - Microsoft.Network/stable/2018-12-01/azureFirewall.json
+ - Microsoft.Network/stable/2018-12-01/azureFirewallFqdnTag.json
+ - Microsoft.Network/stable/2018-12-01/checkDnsAvailability.json
+ - Microsoft.Network/stable/2018-12-01/ddosCustomPolicy.json
+ - Microsoft.Network/stable/2018-12-01/ddosProtectionPlan.json
+ - Microsoft.Network/stable/2018-12-01/endpointService.json
+ - Microsoft.Network/stable/2018-12-01/expressRouteCircuit.json
+ - Microsoft.Network/stable/2018-12-01/expressRouteCrossConnection.json
+ - Microsoft.Network/stable/2018-12-01/expressRouteGateway.json
+ - Microsoft.Network/stable/2018-12-01/expressRoutePort.json
+ - Microsoft.Network/stable/2018-12-01/interfaceEndpoint.json
+ - Microsoft.Network/stable/2018-12-01/loadBalancer.json
+ - Microsoft.Network/stable/2018-12-01/network.json
+ - Microsoft.Network/stable/2018-12-01/networkInterface.json
+ - Microsoft.Network/stable/2018-12-01/networkProfile.json
+ - Microsoft.Network/stable/2018-12-01/networkSecurityGroup.json
+ - Microsoft.Network/stable/2018-12-01/networkWatcher.json
+ - Microsoft.Network/stable/2018-12-01/operation.json
+ - Microsoft.Network/stable/2018-12-01/publicIpAddress.json
+ - Microsoft.Network/stable/2018-12-01/publicIpPrefix.json
+ - Microsoft.Network/stable/2018-12-01/routeFilter.json
+ - Microsoft.Network/stable/2018-12-01/routeTable.json
+ - Microsoft.Network/stable/2018-12-01/serviceCommunity.json
+ - Microsoft.Network/stable/2018-12-01/serviceEndpointPolicy.json
+ - Microsoft.Network/stable/2018-12-01/usage.json
+ - Microsoft.Network/stable/2018-12-01/virtualNetwork.json
+ - Microsoft.Network/stable/2018-12-01/virtualNetworkGateway.json
+ - Microsoft.Network/stable/2018-12-01/virtualNetworkTap.json
+ - Microsoft.Network/stable/2018-12-01/virtualWan.json
+ - Microsoft.Network/stable/2018-12-01/vmssNetworkInterface.json
+ - Microsoft.Network/stable/2018-12-01/vmssPublicIpAddress.json
+```
+
+### Tag: package-2018-12-only
+
+These settings apply only when `--tag=package-2018-12-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2018-12-only'
+input-file:
+ - Microsoft.Network/stable/2018-12-01/applicationGateway.json
+ - Microsoft.Network/stable/2018-12-01/applicationSecurityGroup.json
+ - Microsoft.Network/stable/2018-12-01/availableDelegations.json
+ - Microsoft.Network/stable/2018-12-01/azureFirewall.json
+ - Microsoft.Network/stable/2018-12-01/azureFirewallFqdnTag.json
+ - Microsoft.Network/stable/2018-12-01/checkDnsAvailability.json
+ - Microsoft.Network/stable/2018-12-01/ddosCustomPolicy.json
+ - Microsoft.Network/stable/2018-12-01/ddosProtectionPlan.json
+ - Microsoft.Network/stable/2018-12-01/endpointService.json
+ - Microsoft.Network/stable/2018-12-01/expressRouteCircuit.json
+ - Microsoft.Network/stable/2018-12-01/expressRouteCrossConnection.json
+ - Microsoft.Network/stable/2018-12-01/expressRouteGateway.json
+ - Microsoft.Network/stable/2018-12-01/expressRoutePort.json
+ - Microsoft.Network/stable/2018-12-01/interfaceEndpoint.json
+ - Microsoft.Network/stable/2018-12-01/loadBalancer.json
+ - Microsoft.Network/stable/2018-12-01/network.json
+ - Microsoft.Network/stable/2018-12-01/networkInterface.json
+ - Microsoft.Network/stable/2018-12-01/networkProfile.json
+ - Microsoft.Network/stable/2018-12-01/networkSecurityGroup.json
+ - Microsoft.Network/stable/2018-12-01/networkWatcher.json
+ - Microsoft.Network/stable/2018-12-01/operation.json
+ - Microsoft.Network/stable/2018-12-01/publicIpAddress.json
+ - Microsoft.Network/stable/2018-12-01/publicIpPrefix.json
+ - Microsoft.Network/stable/2018-12-01/routeFilter.json
+ - Microsoft.Network/stable/2018-12-01/routeTable.json
+ - Microsoft.Network/stable/2018-12-01/serviceCommunity.json
+ - Microsoft.Network/stable/2018-12-01/serviceEndpointPolicy.json
+ - Microsoft.Network/stable/2018-12-01/usage.json
+ - Microsoft.Network/stable/2018-12-01/virtualNetwork.json
+ - Microsoft.Network/stable/2018-12-01/virtualNetworkGateway.json
+ - Microsoft.Network/stable/2018-12-01/virtualNetworkTap.json
+ - Microsoft.Network/stable/2018-12-01/virtualWan.json
+```
+
+### Tag: package-2018-11
+
+These settings apply only when `--tag=package-2018-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-11'
+input-file:
+ - Microsoft.Network/stable/2018-11-01/applicationGateway.json
+ - Microsoft.Network/stable/2018-11-01/applicationSecurityGroup.json
+ - Microsoft.Network/stable/2018-11-01/availableDelegations.json
+ - Microsoft.Network/stable/2018-11-01/azureFirewall.json
+ - Microsoft.Network/stable/2018-11-01/azureFirewallFqdnTag.json
+ - Microsoft.Network/stable/2018-11-01/checkDnsAvailability.json
+ - Microsoft.Network/stable/2018-11-01/ddosCustomPolicy.json
+ - Microsoft.Network/stable/2018-11-01/ddosProtectionPlan.json
+ - Microsoft.Network/stable/2018-11-01/endpointService.json
+ - Microsoft.Network/stable/2018-11-01/expressRouteCircuit.json
+ - Microsoft.Network/stable/2018-11-01/expressRouteCrossConnection.json
+ - Microsoft.Network/stable/2018-11-01/expressRouteGateway.json
+ - Microsoft.Network/stable/2018-11-01/expressRoutePort.json
+ - Microsoft.Network/stable/2018-11-01/interfaceEndpoint.json
+ - Microsoft.Network/stable/2018-11-01/loadBalancer.json
+ - Microsoft.Network/stable/2018-11-01/network.json
+ - Microsoft.Network/stable/2018-11-01/networkInterface.json
+ - Microsoft.Network/stable/2018-11-01/networkProfile.json
+ - Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json
+ - Microsoft.Network/stable/2018-11-01/networkWatcher.json
+ - Microsoft.Network/stable/2018-11-01/operation.json
+ - Microsoft.Network/stable/2018-11-01/publicIpAddress.json
+ - Microsoft.Network/stable/2018-11-01/publicIpPrefix.json
+ - Microsoft.Network/stable/2018-11-01/routeFilter.json
+ - Microsoft.Network/stable/2018-11-01/routeTable.json
+ - Microsoft.Network/stable/2018-11-01/serviceCommunity.json
+ - Microsoft.Network/stable/2018-11-01/serviceEndpointPolicy.json
+ - Microsoft.Network/stable/2018-11-01/usage.json
+ - Microsoft.Network/stable/2018-11-01/virtualNetwork.json
+ - Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json
+ - Microsoft.Network/stable/2018-11-01/virtualNetworkTap.json
+ - Microsoft.Network/stable/2018-11-01/virtualWan.json
+ - Microsoft.Network/stable/2018-11-01/vmssNetworkInterface.json
+ - Microsoft.Network/stable/2018-11-01/vmssPublicIpAddress.json
+```
+
+### Tag: package-2018-10
+
+These settings apply only when `--tag=package-2018-10` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-10'
+input-file:
+ - Microsoft.Network/stable/2018-10-01/applicationGateway.json
+ - Microsoft.Network/stable/2018-10-01/applicationSecurityGroup.json
+ - Microsoft.Network/stable/2018-10-01/availableDelegations.json
+ - Microsoft.Network/stable/2018-10-01/azureFirewall.json
+ - Microsoft.Network/stable/2018-10-01/azureFirewallFqdnTag.json
+ - Microsoft.Network/stable/2018-10-01/checkDnsAvailability.json
+ - Microsoft.Network/stable/2018-10-01/ddosProtectionPlan.json
+ - Microsoft.Network/stable/2018-10-01/endpointService.json
+ - Microsoft.Network/stable/2018-10-01/expressRouteCircuit.json
+ - Microsoft.Network/stable/2018-10-01/expressRouteCrossConnection.json
+ - Microsoft.Network/stable/2018-10-01/expressRouteGateway.json
+ - Microsoft.Network/stable/2018-10-01/expressRoutePort.json
+ - Microsoft.Network/stable/2018-10-01/interfaceEndpoint.json
+ - Microsoft.Network/stable/2018-10-01/loadBalancer.json
+ - Microsoft.Network/stable/2018-10-01/network.json
+ - Microsoft.Network/stable/2018-10-01/networkInterface.json
+ - Microsoft.Network/stable/2018-10-01/networkProfile.json
+ - Microsoft.Network/stable/2018-10-01/networkSecurityGroup.json
+ - Microsoft.Network/stable/2018-10-01/networkWatcher.json
+ - Microsoft.Network/stable/2018-10-01/operation.json
+ - Microsoft.Network/stable/2018-10-01/publicIpAddress.json
+ - Microsoft.Network/stable/2018-10-01/publicIpPrefix.json
+ - Microsoft.Network/stable/2018-10-01/routeFilter.json
+ - Microsoft.Network/stable/2018-10-01/routeTable.json
+ - Microsoft.Network/stable/2018-10-01/serviceCommunity.json
+ - Microsoft.Network/stable/2018-10-01/serviceEndpointPolicy.json
+ - Microsoft.Network/stable/2018-10-01/usage.json
+ - Microsoft.Network/stable/2018-10-01/virtualNetwork.json
+ - Microsoft.Network/stable/2018-10-01/virtualNetworkGateway.json
+ - Microsoft.Network/stable/2018-10-01/virtualNetworkTap.json
+ - Microsoft.Network/stable/2018-10-01/virtualWan.json
+ - Microsoft.Network/stable/2018-10-01/vmssNetworkInterface.json
+ - Microsoft.Network/stable/2018-10-01/vmssPublicIpAddress.json
+```
+
+### Tag: package-2018-08
+
+These settings apply only when `--tag=package-2018-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-08'
+input-file:
+ - Microsoft.Network/stable/2018-08-01/applicationGateway.json
+ - Microsoft.Network/stable/2018-08-01/applicationSecurityGroup.json
+ - Microsoft.Network/stable/2018-08-01/availableDelegations.json
+ - Microsoft.Network/stable/2018-08-01/azureFirewall.json
+ - Microsoft.Network/stable/2018-08-01/azureFirewallFqdnTag.json
+ - Microsoft.Network/stable/2018-08-01/checkDnsAvailability.json
+ - Microsoft.Network/stable/2018-08-01/ddosProtectionPlan.json
+ - Microsoft.Network/stable/2018-08-01/endpointService.json
+ - Microsoft.Network/stable/2018-08-01/expressRouteCircuit.json
+ - Microsoft.Network/stable/2018-08-01/expressRouteCrossConnection.json
+ - Microsoft.Network/stable/2018-08-01/expressRouteGateway.json
+ - Microsoft.Network/stable/2018-08-01/expressRoutePort.json
+ - Microsoft.Network/stable/2018-08-01/interfaceEndpoint.json
+ - Microsoft.Network/stable/2018-08-01/loadBalancer.json
+ - Microsoft.Network/stable/2018-08-01/network.json
+ - Microsoft.Network/stable/2018-08-01/networkInterface.json
+ - Microsoft.Network/stable/2018-08-01/networkProfile.json
+ - Microsoft.Network/stable/2018-08-01/networkSecurityGroup.json
+ - Microsoft.Network/stable/2018-08-01/networkWatcher.json
+ - Microsoft.Network/stable/2018-08-01/operation.json
+ - Microsoft.Network/stable/2018-08-01/publicIpAddress.json
+ - Microsoft.Network/stable/2018-08-01/publicIpPrefix.json
+ - Microsoft.Network/stable/2018-08-01/routeFilter.json
+ - Microsoft.Network/stable/2018-08-01/routeTable.json
+ - Microsoft.Network/stable/2018-08-01/serviceCommunity.json
+ - Microsoft.Network/stable/2018-08-01/serviceEndpointPolicy.json
+ - Microsoft.Network/stable/2018-08-01/usage.json
+ - Microsoft.Network/stable/2018-08-01/virtualNetwork.json
+ - Microsoft.Network/stable/2018-08-01/virtualNetworkTap.json
+ - Microsoft.Network/stable/2018-08-01/virtualNetworkGateway.json
+ - Microsoft.Network/stable/2018-08-01/virtualWan.json
+ - Microsoft.Network/stable/2018-08-01/vmssNetworkInterface.json
+ - Microsoft.Network/stable/2018-08-01/vmssPublicIpAddress.json
+```
+
+### Tag: package-2018-07
+
+These settings apply only when `--tag=package-2018-07` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-07'
+
+input-file:
+- Microsoft.Network/stable/2018-07-01/azureFirewall.json
+- Microsoft.Network/stable/2018-07-01/applicationGateway.json
+- Microsoft.Network/stable/2018-07-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2018-07-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2018-07-01/ddosProtectionPlan.json
+- Microsoft.Network/stable/2018-07-01/endpointService.json
+- Microsoft.Network/stable/2018-07-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2018-07-01/expressRouteCrossConnection.json
+- Microsoft.Network/stable/2018-07-01/loadBalancer.json
+- Microsoft.Network/stable/2018-07-01/network.json
+- Microsoft.Network/stable/2018-07-01/networkInterface.json
+- Microsoft.Network/stable/2018-07-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2018-07-01/networkWatcher.json
+- Microsoft.Network/stable/2018-07-01/operation.json
+- Microsoft.Network/stable/2018-07-01/publicIpAddress.json
+- Microsoft.Network/stable/2018-07-01/publicIpPrefix.json
+- Microsoft.Network/stable/2018-07-01/routeFilter.json
+- Microsoft.Network/stable/2018-07-01/routeTable.json
+- Microsoft.Network/stable/2018-07-01/serviceCommunity.json
+- Microsoft.Network/stable/2018-07-01/usage.json
+- Microsoft.Network/stable/2018-07-01/virtualNetwork.json
+- Microsoft.Network/stable/2018-07-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2018-07-01/virtualWan.json
+- Microsoft.Network/stable/2018-07-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2018-07-01/vmssPublicIpAddress.json
+- Microsoft.Network/stable/2018-07-01/serviceEndpointPolicy.json
+```
+
+### Tag: package-2018-06
+
+These settings apply only when `--tag=package-2018-06` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-06'
+
+input-file:
+- Microsoft.Network/stable/2018-06-01/azureFirewall.json
+- Microsoft.Network/stable/2018-06-01/applicationGateway.json
+- Microsoft.Network/stable/2018-06-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2018-06-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2018-06-01/ddosProtectionPlan.json
+- Microsoft.Network/stable/2018-06-01/endpointService.json
+- Microsoft.Network/stable/2018-06-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2018-06-01/expressRouteCrossConnection.json
+- Microsoft.Network/stable/2018-06-01/loadBalancer.json
+- Microsoft.Network/stable/2018-06-01/network.json
+- Microsoft.Network/stable/2018-06-01/networkInterface.json
+- Microsoft.Network/stable/2018-06-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2018-06-01/networkWatcher.json
+- Microsoft.Network/stable/2018-06-01/operation.json
+- Microsoft.Network/stable/2018-06-01/publicIpAddress.json
+- Microsoft.Network/stable/2018-06-01/routeFilter.json
+- Microsoft.Network/stable/2018-06-01/routeTable.json
+- Microsoft.Network/stable/2018-06-01/serviceCommunity.json
+- Microsoft.Network/stable/2018-06-01/usage.json
+- Microsoft.Network/stable/2018-06-01/virtualNetwork.json
+- Microsoft.Network/stable/2018-06-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2018-06-01/virtualWan.json
+- Microsoft.Network/stable/2018-06-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2018-06-01/vmssPublicIpAddress.json
+```
+
+### Tag: package-2018-04
+
+These settings apply only when `--tag=package-2018-04` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-04'
+
+input-file:
+- Microsoft.Network/stable/2018-04-01/azureFirewall.json
+- Microsoft.Network/stable/2018-04-01/applicationGateway.json
+- Microsoft.Network/stable/2018-04-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2018-04-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2018-04-01/ddosProtectionPlan.json
+- Microsoft.Network/stable/2018-04-01/endpointService.json
+- Microsoft.Network/stable/2018-04-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2018-04-01/expressRouteCrossConnection.json
+- Microsoft.Network/stable/2018-04-01/loadBalancer.json
+- Microsoft.Network/stable/2018-04-01/network.json
+- Microsoft.Network/stable/2018-04-01/networkInterface.json
+- Microsoft.Network/stable/2018-04-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2018-04-01/networkWatcher.json
+- Microsoft.Network/stable/2018-04-01/operation.json
+- Microsoft.Network/stable/2018-04-01/publicIpAddress.json
+- Microsoft.Network/stable/2018-04-01/routeFilter.json
+- Microsoft.Network/stable/2018-04-01/routeTable.json
+- Microsoft.Network/stable/2018-04-01/serviceCommunity.json
+- Microsoft.Network/stable/2018-04-01/usage.json
+- Microsoft.Network/stable/2018-04-01/virtualNetwork.json
+- Microsoft.Network/stable/2018-04-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2018-04-01/virtualWan.json
+- Microsoft.Network/stable/2018-04-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2018-04-01/vmssPublicIpAddress.json
+```
+
+### 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.Network/stable/2018-02-01/applicationGateway.json
+- Microsoft.Network/stable/2018-02-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2018-02-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2018-02-01/ddosProtectionPlan.json
+- Microsoft.Network/stable/2018-02-01/endpointService.json
+- Microsoft.Network/stable/2018-02-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2018-02-01/expressRouteCrossConnection.json
+- Microsoft.Network/stable/2018-02-01/loadBalancer.json
+- Microsoft.Network/stable/2018-02-01/network.json
+- Microsoft.Network/stable/2018-02-01/networkInterface.json
+- Microsoft.Network/stable/2018-02-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2018-02-01/networkWatcher.json
+- Microsoft.Network/stable/2018-02-01/operation.json
+- Microsoft.Network/stable/2018-02-01/publicIpAddress.json
+- Microsoft.Network/stable/2018-02-01/routeFilter.json
+- Microsoft.Network/stable/2018-02-01/routeTable.json
+- Microsoft.Network/stable/2018-02-01/serviceCommunity.json
+- Microsoft.Network/stable/2018-02-01/usage.json
+- Microsoft.Network/stable/2018-02-01/virtualNetwork.json
+- Microsoft.Network/stable/2018-02-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2018-02-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2018-02-01/vmssPublicIpAddress.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.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-2018-01-only
+
+These settings apply only when `--tag=package-2018-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-01-only'
+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
+```
+
+### 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-11-only
+
+These settings apply only when `--tag=package-2017-11-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-11-only'
+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
+```
+
+### 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.Network/stable/2017-10-01/applicationGateway.json
+- Microsoft.Network/stable/2017-10-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2017-10-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2017-10-01/endpointService.json
+- Microsoft.Network/stable/2017-10-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2017-10-01/loadBalancer.json
+- Microsoft.Network/stable/2017-10-01/network.json
+- Microsoft.Network/stable/2017-10-01/networkInterface.json
+- Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2017-10-01/networkWatcher.json
+- Microsoft.Network/stable/2017-10-01/operation.json
+- Microsoft.Network/stable/2017-10-01/publicIpAddress.json
+- Microsoft.Network/stable/2017-10-01/routeFilter.json
+- Microsoft.Network/stable/2017-10-01/routeTable.json
+- Microsoft.Network/stable/2017-10-01/serviceCommunity.json
+- Microsoft.Network/stable/2017-10-01/usage.json
+- Microsoft.Network/stable/2017-10-01/virtualNetwork.json
+- Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2017-10-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2017-10-01/vmssPublicIpAddress.json
+```
+
+### Tag: package-2017-10-only
+
+These settings apply only when `--tag=package-2017-10-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-10-only'
+input-file:
+- Microsoft.Network/stable/2017-10-01/applicationGateway.json
+- Microsoft.Network/stable/2017-10-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2017-10-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2017-10-01/endpointService.json
+- Microsoft.Network/stable/2017-10-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2017-10-01/loadBalancer.json
+- Microsoft.Network/stable/2017-10-01/network.json
+- Microsoft.Network/stable/2017-10-01/networkInterface.json
+- Microsoft.Network/stable/2017-10-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2017-10-01/networkWatcher.json
+- Microsoft.Network/stable/2017-10-01/operation.json
+- Microsoft.Network/stable/2017-10-01/publicIpAddress.json
+- Microsoft.Network/stable/2017-10-01/routeFilter.json
+- Microsoft.Network/stable/2017-10-01/routeTable.json
+- Microsoft.Network/stable/2017-10-01/serviceCommunity.json
+- Microsoft.Network/stable/2017-10-01/usage.json
+- Microsoft.Network/stable/2017-10-01/virtualNetwork.json
+- Microsoft.Network/stable/2017-10-01/virtualNetworkGateway.json
+```
+
+### Tag: package-2017-09
+
+These settings apply only when `--tag=package-2017-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-09'
+input-file:
+- Microsoft.Network/stable/2017-09-01/applicationGateway.json
+- Microsoft.Network/stable/2017-09-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2017-09-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2017-09-01/endpointService.json
+- Microsoft.Network/stable/2017-09-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2017-09-01/loadBalancer.json
+- Microsoft.Network/stable/2017-09-01/network.json
+- Microsoft.Network/stable/2017-09-01/networkInterface.json
+- Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2017-09-01/networkWatcher.json
+- Microsoft.Network/stable/2017-09-01/operation.json
+- Microsoft.Network/stable/2017-09-01/publicIpAddress.json
+- Microsoft.Network/stable/2017-09-01/routeFilter.json
+- Microsoft.Network/stable/2017-09-01/routeTable.json
+- Microsoft.Network/stable/2017-09-01/serviceCommunity.json
+- Microsoft.Network/stable/2017-09-01/usage.json
+- Microsoft.Network/stable/2017-09-01/virtualNetwork.json
+- Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2017-09-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2017-09-01/vmssPublicIpAddress.json
+```
+
+### Tag: package-2017-09-only
+
+These settings apply only when `--tag=package-2017-09-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-09-only'
+input-file:
+- Microsoft.Network/stable/2017-09-01/applicationGateway.json
+- Microsoft.Network/stable/2017-09-01/applicationSecurityGroup.json
+- Microsoft.Network/stable/2017-09-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2017-09-01/endpointService.json
+- Microsoft.Network/stable/2017-09-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2017-09-01/loadBalancer.json
+- Microsoft.Network/stable/2017-09-01/network.json
+- Microsoft.Network/stable/2017-09-01/networkInterface.json
+- Microsoft.Network/stable/2017-09-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2017-09-01/networkWatcher.json
+- Microsoft.Network/stable/2017-09-01/operation.json
+- Microsoft.Network/stable/2017-09-01/publicIpAddress.json
+- Microsoft.Network/stable/2017-09-01/routeFilter.json
+- Microsoft.Network/stable/2017-09-01/routeTable.json
+- Microsoft.Network/stable/2017-09-01/serviceCommunity.json
+- Microsoft.Network/stable/2017-09-01/usage.json
+- Microsoft.Network/stable/2017-09-01/virtualNetwork.json
+- Microsoft.Network/stable/2017-09-01/virtualNetworkGateway.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.Network/stable/2017-08-01/applicationGateway.json
+- Microsoft.Network/stable/2017-08-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2017-08-01/endpointService.json
+- Microsoft.Network/stable/2017-08-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2017-08-01/loadBalancer.json
+- Microsoft.Network/stable/2017-08-01/network.json
+- Microsoft.Network/stable/2017-08-01/networkInterface.json
+- Microsoft.Network/stable/2017-08-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2017-08-01/networkWatcher.json
+- Microsoft.Network/stable/2017-08-01/publicIpAddress.json
+- Microsoft.Network/stable/2017-08-01/routeFilter.json
+- Microsoft.Network/stable/2017-08-01/routeTable.json
+- Microsoft.Network/stable/2017-08-01/serviceCommunity.json
+- Microsoft.Network/stable/2017-08-01/usage.json
+- Microsoft.Network/stable/2017-08-01/virtualNetwork.json
+- Microsoft.Network/stable/2017-08-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2017-08-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2017-08-01/vmssPublicIpAddress.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.Network/stable/2017-06-01/applicationGateway.json
+- Microsoft.Network/stable/2017-06-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2017-06-01/endpointService.json
+- Microsoft.Network/stable/2017-06-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2017-06-01/loadBalancer.json
+- Microsoft.Network/stable/2017-06-01/network.json
+- Microsoft.Network/stable/2017-06-01/networkInterface.json
+- Microsoft.Network/stable/2017-06-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2017-06-01/networkWatcher.json
+- Microsoft.Network/stable/2017-06-01/publicIpAddress.json
+- Microsoft.Network/stable/2017-06-01/routeFilter.json
+- Microsoft.Network/stable/2017-06-01/routeTable.json
+- Microsoft.Network/stable/2017-06-01/serviceCommunity.json
+- Microsoft.Network/stable/2017-06-01/usage.json
+- Microsoft.Network/stable/2017-06-01/virtualNetwork.json
+- Microsoft.Network/stable/2017-06-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2017-06-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2017-06-01/vmssPublicIpAddress.json
+```
+
+### 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.Network/stable/2017-03-01/applicationGateway.json
+- Microsoft.Network/stable/2017-03-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2017-03-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2017-03-01/loadBalancer.json
+- Microsoft.Network/stable/2017-03-01/network.json
+- Microsoft.Network/stable/2017-03-01/networkInterface.json
+- Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2017-03-01/networkWatcher.json
+- Microsoft.Network/stable/2017-03-01/publicIpAddress.json
+- Microsoft.Network/stable/2017-03-01/routeFilter.json
+- Microsoft.Network/stable/2017-03-01/routeTable.json
+- Microsoft.Network/stable/2017-03-01/serviceCommunity.json
+- Microsoft.Network/stable/2017-03-01/usage.json
+- Microsoft.Network/stable/2017-03-01/virtualNetwork.json
+- Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json
+- Microsoft.Network/stable/2017-03-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2017-03-01/vmssPublicIpAddress.json
+```
+
+### Tag: package-2017-03-only
+
+These settings apply only when `--tag=package-2017-03-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-03-only'
+input-file:
+- Microsoft.Network/stable/2017-03-01/applicationGateway.json
+- Microsoft.Network/stable/2017-03-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2017-03-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2017-03-01/loadBalancer.json
+- Microsoft.Network/stable/2017-03-01/network.json
+- Microsoft.Network/stable/2017-03-01/networkInterface.json
+- Microsoft.Network/stable/2017-03-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2017-03-01/networkWatcher.json
+- Microsoft.Network/stable/2017-03-01/publicIpAddress.json
+- Microsoft.Network/stable/2017-03-01/routeFilter.json
+- Microsoft.Network/stable/2017-03-01/routeTable.json
+- Microsoft.Network/stable/2017-03-01/serviceCommunity.json
+- Microsoft.Network/stable/2017-03-01/usage.json
+- Microsoft.Network/stable/2017-03-01/virtualNetwork.json
+- Microsoft.Network/stable/2017-03-01/virtualNetworkGateway.json
+```
+
+### Tag: package-2017-03-30-only
+
+These settings apply only when `--tag=package-2017-03-30-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-03-30-only'
+input-file:
+- Microsoft.Network/stable/2017-09-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2017-09-01/vmssPublicIpAddress.json
+```
+
+### 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.Network/stable/2016-12-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2016-12-01/applicationGateway.json
+- Microsoft.Network/stable/2016-12-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2016-12-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2016-12-01/loadBalancer.json
+- Microsoft.Network/stable/2016-12-01/network.json
+- Microsoft.Network/stable/2016-12-01/networkInterface.json
+- Microsoft.Network/stable/2016-12-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2016-12-01/networkWatcher.json
+- Microsoft.Network/stable/2016-12-01/publicIpAddress.json
+- Microsoft.Network/stable/2016-12-01/routeFilter.json
+- Microsoft.Network/stable/2016-12-01/routeTable.json
+- Microsoft.Network/stable/2016-12-01/serviceCommunity.json
+- Microsoft.Network/stable/2016-12-01/usage.json
+- Microsoft.Network/stable/2016-12-01/virtualNetwork.json
+- Microsoft.Network/stable/2016-12-01/virtualNetworkGateway.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:
+- Microsoft.Network/stable/2016-09-01/vmssNetworkInterface.json
+- Microsoft.Network/stable/2016-09-01/applicationGateway.json
+- Microsoft.Network/stable/2016-09-01/checkDnsAvailability.json
+- Microsoft.Network/stable/2016-09-01/expressRouteCircuit.json
+- Microsoft.Network/stable/2016-09-01/loadBalancer.json
+- Microsoft.Network/stable/2016-09-01/network.json
+- Microsoft.Network/stable/2016-09-01/networkInterface.json
+- Microsoft.Network/stable/2016-09-01/networkSecurityGroup.json
+- Microsoft.Network/stable/2016-09-01/networkWatcher.json
+- Microsoft.Network/stable/2016-09-01/publicIpAddress.json
+- Microsoft.Network/stable/2016-09-01/routeTable.json
+- Microsoft.Network/stable/2016-09-01/usage.json
+- Microsoft.Network/stable/2016-09-01/virtualNetwork.json
+- Microsoft.Network/stable/2016-09-01/virtualNetworkGateway.json
+```
+
+### Tag: package-2016-06
+
+These settings apply only when `--tag=package-2016-06` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-06'
+input-file:
+- Microsoft.Network/stable/2016-06-01/network.json
+```
+
+### Tag: package-2016-03
+
+These settings apply only when `--tag=package-2016-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2016-03'
+input-file:
+- Microsoft.Network/stable/2016-03-30/network.json
+```
+
+### Tag: package-2015-06split
+
+These settings apply only when `--tag=package-2015-06split` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-06split'
+input-file:
+- Microsoft.Network/stable/2015-06-15/applicationGateway.json
+- Microsoft.Network/stable/2015-06-15/checkDnsAvailability.json
+- Microsoft.Network/stable/2015-06-15/expressRouteCircuit.json
+- Microsoft.Network/stable/2015-06-15/loadBalancer.json
+- Microsoft.Network/stable/2015-06-15/network.json
+- Microsoft.Network/stable/2015-06-15/networkInterface.json
+- Microsoft.Network/stable/2015-06-15/networkSecurityGroup.json
+- Microsoft.Network/stable/2015-06-15/publicIpAddress.json
+- Microsoft.Network/stable/2015-06-15/routeTable.json
+- Microsoft.Network/stable/2015-06-15/usage.json
+- Microsoft.Network/stable/2015-06-15/virtualNetwork.json
+- Microsoft.Network/stable/2015-06-15/virtualNetworkGateway.json
+- Microsoft.Network/stable/2015-06-15/vmssNetworkInterface.json
+```
+
+### Tag: package-2015-05-preview
+
+These settings apply only when `--tag=package-2015-05-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-05-preview'
+input-file:
+- Microsoft.Network/preview/2015-05-01-preview/network.json
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: applicationGateway.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: applicationSecurityGroup.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: azureFirewall.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: azureFirewallFqdnTag.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: checkDnsAvailability.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: ddosCustomPolicy.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: ddosProtectionPlan.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: endpointService.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: expressRouteCircuit.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: expressRouteCrossConnection.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: expressRouteGateway.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: expressRoutePort.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: loadBalancer.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: networkInterface.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: networkSecurityGroup.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: networkWatcher.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: operation.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: publicIpAddress.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: publicIpPrefix.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: routeFilter.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: routeTable.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: serviceCommunity.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: usage.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: virtualNetwork.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: serviceEndpointPolicy.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: virtualNetworkTap.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: virtualNetworkGateway.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: interfaceEndpoint.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: networkProfile.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: availableDelegations.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: TrackedResourceListByImmediateParent
+ reason: Another list APIs naming approach is used over the specs
+ - suppress: EnumInsteadOfBoolean
+ reason: Booleans are used by networking APIs
+ - suppress: GetInOperationName
+ where: $.paths["/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability"].get.operationId
+ reason: Customized verb is used for API
+ - suppress: GetInOperationName
+ where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability"].get.operationId
+ reason: Customized verb is used for API
+ - suppress: PutInOperationName
+ where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}"].put.operationId
+ reason: Child resource is auto-created when top-level resource is created.
+ - suppress: PutInOperationName
+ where: $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey"].put.operationId
+ reason: Customized verb is used for API
+ - suppress: PostOperationIdContainsUrlVerb
+ from: networkWatcher.json
+ reason: Customized verbs are used for API
+ - suppress: PostOperationIdContainsUrlVerb
+ from: expressRouteCircuit.json
+ reason: Customized verbs are used for API
+ - suppress: PostOperationIdContainsUrlVerb
+ from: expressRouteCrossConnection.json
+ reason: Customized verbs are used for API
+ - suppress: OperationIdNounVerb
+ from: vmssPublicIpAddress.json
+ reason: VMSS specs have custom naming
+ - suppress: OperationIdNounVerb
+ from: vmssNetworkInterface.json
+ reason: VMSS specs have custom naming
+ - suppress: BodyTopLevelProperties
+ from: virtualNetworkGateway.json
+ reason: shipped. fixing this causes breaking change in resource
+```
+
+---
+
+# 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-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_network']
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: virtualWan.json
+ reason: name, id and type properties are inherited from the upper level
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: networkwatcher.json
+ where: $.definitions.PacketCaptureResult
+ reason: Packet capture is a non tracked child resource. It has 'name' and 'id' but does not have a 'type'
+ - suppress: RequiredPropertiesMissingInResourceModel
+ from: networkwatcher.json
+ where: $.definitions.NetworkWatcher
+ reason: Network watcher has reference on resource in network.json which contain 'name, 'id' and 'type'
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ from: networkwatcher.json
+ where: $.definitions.ProtocolConfiguration.properties.HTTPConfiguration
+ reason: Accidentally shipped with wrong casing - however fixing the casing is introducing a breaking change which is worse than living with the naming violation
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.network
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-network
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2018-12
+ - tag: package-2018-08
+ - tag: package-2018-07
+ - tag: package-2018-06
+ - tag: package-2018-04
+ - tag: package-2017-10
+```
+
+### Tag: package-2018-12 and java
+
+These settings apply only when `--tag=package-2018-12 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2018-12' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.network.v2018_12_01
+ output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2018_12_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2018-08 and java
+
+These settings apply only when `--tag=package-2018-08 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2018-08' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.network.v2018_08_01
+ output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2018_08_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2018-07 and java
+
+These settings apply only when `--tag=package-2018-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2018-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.network.v2018_07_01
+ output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2018_07_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2018-06 and java
+
+These settings apply only when `--tag=package-2018-06 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2018-06' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.network.v2018_06_01
+ output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2018_06_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2018-04 and java
+
+These settings apply only when `--tag=package-2018-04 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2018-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.network.v2018_04_01
+ output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2018_04_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2017-10 and java
+
+These settings apply only when `--tag=package-2017-10 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2017-10' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.network.v2017_10_01
+ output-folder: $(azure-libraries-for-java-folder)/network/resource-manager/v2017_10_01
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/network/resource-manager/readme.python.md b/specification/network/resource-manager/readme.python.md
index 11163fe1269d..64d390eafd02 100644
--- a/specification/network/resource-manager/readme.python.md
+++ b/specification/network/resource-manager/readme.python.md
@@ -18,6 +18,8 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2018-12
+ - tag: package-2018-11
- tag: package-2018-10
- tag: package-2018-08
- tag: package-2018-07
@@ -36,6 +38,28 @@ batch:
- tag: package-2015-06split
```
+### Tag: package-2018-12 and python
+
+These settings apply only when `--tag=package-2018-12 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-12' && $(python)
+python:
+ namespace: azure.mgmt.network.v2018_12_01
+ output-folder: $(python-sdks-folder)/azure-mgmt-network/azure/mgmt/network/v2018_12_01
+```
+
+### Tag: package-2018-11 and python
+
+These settings apply only when `--tag=package-2018-11 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-11' && $(python)
+python:
+ namespace: azure.mgmt.network.v2018_11_01
+ output-folder: $(python-sdks-folder)/azure-mgmt-network/azure/mgmt/network/v2018_11_01
+```
+
### Tag: package-2018-10 and python
These settings apply only when `--tag=package-2018-10 --python` is specified on the command line.
diff --git a/specification/network/resource-manager/readme.ruby.md b/specification/network/resource-manager/readme.ruby.md
index 468105cf3705..ae6a3d6be2ae 100644
--- a/specification/network/resource-manager/readme.ruby.md
+++ b/specification/network/resource-manager/readme.ruby.md
@@ -12,6 +12,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2018-12-only
- tag: package-2015-05-preview
- tag: package-2015-06split
- tag: package-2016-03
@@ -26,6 +27,16 @@ batch:
- tag: package-2018-01-only
```
+### Tag: package-2018-12-only and ruby
+
+These settings apply only when `--tag=package-2018-12-only --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-12-only' && $(ruby)
+namespace: "Azure::Network::Mgmt::V2018_12_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_network/lib
+```
+
### Tag: package-2015-05-preview and ruby
These settings apply only when `--tag=package-2015-05-preview --ruby` is specified on the command line.
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 1e5b84d939d5..49041f0ede1b 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
@@ -681,7 +681,7 @@
"Workspaces"
],
"x-ms-examples": {
- "SharedKeysList": { "$ref": "./examples/WorkspacesRegenerateSharedKeys.json" }
+ "RegenerateSharedKeys": { "$ref": "./examples/WorkspacesRegenerateSharedKeys.json" }
},
"operationId": "Workspaces_RegenerateSharedKeys",
"description": "Regenerates the shared keys for a Log Analytics Workspace. These keys are used to connect Microsoft Operational Insights agents to the workspace.",
@@ -709,6 +709,40 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/gateways/{gatewayId}": {
+ "delete": {
+ "tags": [
+ "Workspaces"
+ ],
+ "x-ms-examples": {
+ "DeleteGateways": { "$ref": "./examples/WorkspacesGatewaysDelete.json" }
+ },
+ "operationId": "Workspaces_DeleteGateways",
+ "description": "Delete a Log Analytics gateway.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkspaceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The specified gateway was deleted successfully."
+ }
+ }
+ }
+ },
"/providers/Microsoft.OperationalInsights/operations": {
"get": {
"tags": [
@@ -1487,6 +1521,14 @@
"type": "string",
"description": "In a purge status request, this is the Id of the operation the status of which is returned.",
"x-ms-parameter-location": "client"
+ },
+ "GatewayIdParameter": {
+ "name": "gatewayId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Log Analytics gateway Id.",
+ "x-ms-parameter-location": "method"
}
}
}
\ No newline at end of file
diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesGatewaysDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesGatewaysDelete.json
new file mode 100644
index 000000000000..340a389ea117
--- /dev/null
+++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2015-03-20/examples/WorkspacesGatewaysDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters":{
+ "subscriptionId":"00000000-0000-0000-0000-00000000000",
+ "resourceGroupName":"OIAutoRest5123",
+ "workspaceName":"aztest5048",
+ "gatewayId":"00000000-0000-0000-0000-00000000000",
+ "api-version":"2015-03-02"
+ },
+ "responses":{
+ "200":{
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndAggregateOnly.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndAggregateOnly.json
new file mode 100644
index 000000000000..4fcc6ac51319
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndAggregateOnly.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2018-07-01-preview",
+ "$from": "2018-02-05T18:00:00Z",
+ "$filter": "PolicyDefinitionAction eq 'deny'",
+ "$apply": "aggregate($count as NumDenyStates)"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "NumDenyStates": 6
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json
new file mode 100644
index 000000000000..11574b7afa35
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithAggregate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2018-07-01-preview",
+ "$from": "2018-02-05T18:00:00Z",
+ "$filter": "IsCompliant eq false and (PolicyDefinitionAction eq 'audit' or PolicyDefinitionAction eq 'deny')",
+ "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId), aggregate($count as NumAuditDenyNonComplianceRecords))",
+ "$orderby": "NumAuditDenyNonComplianceRecords desc",
+ "$top": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionAction": "audit",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.classiccompute/domainnames/myDomainName",
+ "NumAuditDenyNonComplianceRecords": 10
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionAction": "audit",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.classiccompute/domainnames/myDomainName",
+ "NumAuditDenyNonComplianceRecords": 10
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json
new file mode 100644
index 000000000000..57ab2cf53a13
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndGroupByWithoutAggregate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2018-07-01-preview",
+ "$from": "2018-01-05T18:00:00Z",
+ "$filter": "IsCompliant eq false and (PolicyDefinitionAction ne 'audit' and PolicyDefinitionAction ne 'append')",
+ "$apply": "groupby((PolicyAssignmentId, PolicyDefinitionId, PolicyDefinitionAction, ResourceId))",
+ "$top": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/enable monitoring in azure security center",
+ "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed",
+ "policyDefinitionAction": "auditifnotexists",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.network/virtualnetworks/vnet"
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/89b27f38-e9e4-4468-ab81-801c84b8c017",
+ "policyDefinitionId": "/providers/microsoft.authorization/policydefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed",
+ "policyDefinitionAction": "auditifnotexists",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myrg/providers/microsoft.network/virtualnetworks/vnet"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndMultipleGroups.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndMultipleGroups.json
new file mode 100644
index 000000000000..72b7f24e1c09
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_FilterAndMultipleGroups.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2018-07-01-preview",
+ "$filter": "IsCompliant eq false",
+ "$apply": "groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionId, PolicyDefinitionReferenceId, ResourceId))/groupby((PolicyAssignmentId, PolicySetDefinitionId, PolicyDefinitionId, PolicyDefinitionReferenceId), aggregate($count as NumNonCompliantResources))",
+ "$orderby": "NumNonCompliantResources desc",
+ "$top": 10
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 10,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "14799174781370023846",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "1679708035638239273",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "14799174781370023846",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "1679708035638239273",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
+ "policySetDefinitionId": "",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49",
+ "policySetDefinitionId": "",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "NumNonCompliantResources": 557
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "NumNonCompliantResources": 552
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "8935913113203900114",
+ "NumNonCompliantResources": 544
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874",
+ "policySetDefinitionId": "",
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
+ "policyDefinitionReferenceId": "",
+ "NumNonCompliantResources": 526
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "2124621540977569058",
+ "NumNonCompliantResources": 509
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_GetMetadata.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_GetMetadata.json
new file mode 100644
index 000000000000..243f3ef67de0
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_GetMetadata.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "content-type": "application/xml"
+ },
+ "body": "Org.OData.Capabilities.V1.ConformanceLevelType/Minimalapplication/json;odata.metadata=minimal;IEEE754Compatible=false;odata.streaming=trueapplication/json;odata.metadata=none;IEEE754Compatible=false;odata.streaming=true"
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_ListOperations.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_ListOperations.json
new file mode 100644
index 000000000000..fde95b67be92
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_ListOperations.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.count": 3,
+ "value": [
+ {
+ "name": "Microsoft.PolicyInsights/policyEvents/queryResults/action",
+ "display": {
+ "provider": "Microsoft Policy Insights",
+ "resource": "Policy Events",
+ "operation": "Query Policy Events",
+ "description": "Query information about policy events."
+ }
+ },
+ {
+ "name": "Microsoft.PolicyInsights/policyStates/queryResults/action",
+ "display": {
+ "provider": "Microsoft Policy Insights",
+ "resource": "Policy States",
+ "operation": "Query Policy States",
+ "description": "Query information about policy states."
+ }
+ },
+ {
+ "name": "Microsoft.PolicyInsights/policyStates/summarize/action",
+ "display": {
+ "provider": "Microsoft Policy Insights",
+ "resource": "Policy States",
+ "operation": "Query Policy Latest States Summary",
+ "description": "Query summary information about policy latest states."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScope.json
new file mode 100644
index 000000000000..f42b7d750123
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryManagementGroupScope.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupName": "myManagementGroup",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-09T17:41:47Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/1ef5d536aec743a0aa801c1a",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/microsoft.insights/autoscalesettings",
+ "resourceLocation": "westus",
+ "resourceGroup": "myrg1",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "1ef5d536aec743a0aa801c1a",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policySetDefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
+ "policySetDefinitionName": "335cefd2-ab16-430f-b364-974a170eb1d5",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": "15521232277412542086"
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-09T17:41:47Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/microsoft.insights/autoscalesettings/mytest1",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/microsoft.insights/autoscalesettings",
+ "resourceLocation": "westus",
+ "resourceGroup": "myrg1",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/myManagementGroup",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "",
+ "policySetDefinitionName": "",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "myManagementGroup,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": ""
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryNestedResourceScope.json
new file mode 100644
index 000000000000..7c41461ed920
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryNestedResourceScope.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "policyStatesResource": "default",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ServiceFabric/clusters/applications",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json
new file mode 100644
index 000000000000..64dd190c3361
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroupName": "myResourceGroup",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policyAssignmentName": "myPolicyAssignment",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-13T00:38:50Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Security/policies/mySecurityPolicy",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Security/policies",
+ "resourceLocation": null,
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "myPolicyAssignment",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"EUS, WEU\"]}}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup",
+ "policyDefinitionName": "4a0425e4-97bf-4ad0-ab36-145b94083c60",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-13T00:38:50Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/myPolicyAssignment",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Authorization/policyAssignments",
+ "resourceLocation": null,
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "myPolicyAssignment",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"EUS, WEU\"]}}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup",
+ "policyDefinitionName": "4a0425e4-97bf-4ad0-ab36-145b94083c60",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScope.json
new file mode 100644
index 000000000000..ce9eb2692a22
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceGroupScope.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-09T18:42:42Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Storage/storageAccounts",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-09T18:42:42Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/mysa1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Storage/storageAccounts",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e3682",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScope.json
new file mode 100644
index 000000000000..f70fdf4a8563
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScope.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "policyStatesResource": "default",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ClassicCompute/domainNames",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ClassicCompute/domainNames",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json
new file mode 100644
index 000000000000..b7e3ea191a3c
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json
@@ -0,0 +1,114 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "api-version": "2018-07-01-preview",
+ "$expand": "policyEvaluationDetails"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ClassicCompute/domainNames",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyEvaluationDetails": {
+ "evaluatedExpressions": [
+ {
+ "result": "True",
+ "expression": "type",
+ "path": "type",
+ "expressionValue": "Microsoft.ClassicCompute/domainNames",
+ "targetValue": "Microsoft.ClassicCompute/domainNames",
+ "operator": "Equals"
+ },
+ {
+ "result": "False",
+ "expression": "name",
+ "path": "name",
+ "expressionValue": "myDomainName",
+ "targetValue": "someName",
+ "operator": "Equals"
+ }
+ ]
+ }
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test2",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/AuditIfNotExistsTest",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.ClassicCompute/domainNames",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "AuditIfNotExists test",
+ "policyDefinitionAction": "auditifnotexists",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null,
+ "complianceState": "NonCompliant",
+ "policyEvaluationDetails": {
+ "evaluatedExpressions": [
+ {
+ "result": "False",
+ "expression": "name",
+ "path": "name",
+ "expressionValue": "myDomainName",
+ "targetValue": "someName",
+ "operator": "Equals"
+ }
+ ],
+ "ifNotExistsDetails": {
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourcegroups/myResourceGroup/providers/Microsoft.ClassicCompute/domainNames/myDomainName",
+ "totalResources": 1
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json
new file mode 100644
index 000000000000..637963528da3
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "policyStatesResource": "default",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
+ "resourceLocation": "eastus",
+ "resourceGroup": "",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResource/someNestedResourceType/someNestedResource",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyAssignments/186044306c044a1d8c0ff76c",
+ "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/mymg/providers/Microsoft.Authorization/policyDefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.SomeNamespace/someResourceType/someNestedResourceType",
+ "resourceLocation": "eastus",
+ "resourceGroup": "",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "186044306c044a1d8c0ff76c",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"allowedLocations\":{\"value\":[\"centralus\"]}}",
+ "policyAssignmentScope": "/providers/Microsoft.Management/managementGroups/mymg",
+ "policyDefinitionName": "022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json
new file mode 100644
index 000000000000..c8f4789aa3b1
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-13T00:45:19Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/my-ip-1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Network/publicIPAddresses",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"test\"}}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": "2124621540977569058"
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-13T00:45:19Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/my-ip-1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Network/publicIPAddresses",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"TAGNAME_1\":{\"value\":\"test\"}}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policySetDefinitionName": "12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": "14799174781370023846"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json
new file mode 100644
index 000000000000..f64b514f299e
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-13T00:50:27Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/services/myService",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/d9da7e80af6344ab9d342aa7",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.ServiceFabric/clusters/applications/services",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "d9da7e80af6344ab9d342aa7",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"MyTag\"}}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-13T00:50:27Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster/applications/myApplication/services/myService",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/d9da7e80af6344ab9d342aa7",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.ServiceFabric/clusters/applications/services",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "d9da7e80af6344ab9d342aa7",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"MyTag\"}}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json
new file mode 100644
index 000000000000..5b2734f5ca0e
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-13T00:54:58Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/mySite",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Web/sites",
+ "resourceLocation": "centralus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-13T00:54:58Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Web/sites/mySite",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/3f3c4330183b4e218fe6fd29",
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/LocationAuditDefinition",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Web/sites",
+ "resourceLocation": "centralus",
+ "resourceGroup": "myResourceGroup",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "3f3c4330183b4e218fe6fd29",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "LocationAuditDefinition",
+ "policyDefinitionAction": "Audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json
new file mode 100644
index 000000000000..fc4d370ddf7d
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionLevelResourceScope.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "policyStatesResource": "default",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.SomeNamespace/someResourceType",
+ "resourceLocation": "eastus",
+ "resourceGroup": "",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName/providers/Microsoft.PolicyInsights/policyStates/$metadata#default/$entity",
+ "timestamp": "2018-02-09T16:04:31Z",
+ "resourceId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.SomeNamespace/someResourceType/someResourceName",
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyAssignments/test",
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/Microsoft.Authorization/policyDefinitions/Audit a tag and it's value",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "resourceType": "/Microsoft.SomeNamespace/someResourceType",
+ "resourceLocation": "eastus",
+ "resourceGroup": "",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "test",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{\"tagName\":{\"value\":\"no\"},\"tagValue\":{\"value\":\"no\"}}",
+ "policyAssignmentScope": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5",
+ "policyDefinitionName": "Audit a tag and it's value",
+ "policyDefinitionAction": "audit",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": null,
+ "policySetDefinitionName": null,
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScope.json
new file mode 100644
index 000000000000..44c5cce101bc
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_QuerySubscriptionScope.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-09T17:48:05Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/Enable Monitoring in Azure Security Center",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Network/publicIPAddresses",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myrg1",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "Enable Monitoring in Azure Security Center",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6",
+ "policyDefinitionAction": "AuditIfNotExists",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-09T17:48:05Z",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Network/publicIPAddresses/mypubip1",
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyAssignments/9ac09b0657d942e5ad4041a6",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/9daedab3-fb2d-461e-b861-71790eead4f6",
+ "effectiveParameters": null,
+ "isCompliant": false,
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceType": "/Microsoft.Network/publicIPAddresses",
+ "resourceLocation": "eastus",
+ "resourceGroup": "myrg1",
+ "resourceTags": "tbd",
+ "policyAssignmentName": "9ac09b0657d942e5ad4041a6",
+ "policyAssignmentOwner": "tbd",
+ "policyAssignmentParameters": "{}",
+ "policyAssignmentScope": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "policyDefinitionName": "9daedab3-fb2d-461e-b861-71790eead4f6",
+ "policyDefinitionAction": "AuditIfNotExists",
+ "policyDefinitionCategory": "tbd",
+ "policySetDefinitionId": "/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "policySetDefinitionName": "1f3afdf9-d0c9-4c3d-847f-89da613e70a8",
+ "policySetDefinitionOwner": null,
+ "policySetDefinitionCategory": null,
+ "policySetDefinitionParameters": null,
+ "managementGroupIds": "mymg,fff988bf-fff1-ffff-fffb-fffcd011db47",
+ "policyDefinitionReferenceId": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeManagementGroupScope.json
new file mode 100644
index 000000000000..1af9f1f5d331
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeManagementGroupScope.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "managementGroupsNamespace": "Microsoft.Management",
+ "managementGroupName": "myManagementGroup",
+ "api-version": "2018-07-01-preview",
+ "$from": "2018-02-05T18:00:00Z",
+ "$to": "2018-02-06T18:00:00Z",
+ "$filter": "PolicyDefinitionAction eq 'deny' or PolicyDefinitionAction eq 'audit'",
+ "$top": 0
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/providers/Microsoft.Management/managementGroups/myManagementGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-05 18:00:00Z&$to=2018-02-06 18:00:00Z&$filter=(PolicyDefinitionAction eq 'deny' or PolicyDefinitionAction eq 'audit') and IsCompliant eq false",
+ "nonCompliantResources": 15410,
+ "nonCompliantPolicies": 68
+ },
+ "policyAssignments": []
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json
new file mode 100644
index 000000000000..6de6b2c7ba44
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroupName": "myResourceGroup",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policyAssignmentName": "b7a1ca2596524e3ab19597f2",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-22 23:54:22Z&$to=2018-02-23 23:54:22Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 7,
+ "nonCompliantPolicies": 1
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-22 23:54:22Z&$to=2018-02-23 23:54:22Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2'",
+ "nonCompliantResources": 7,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myResourceGroup/providers/Microsoft.Authorization/policyAssignments/b7a1ca2596524e3ab19597f2/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-22 23:54:22Z&$to=2018-02-23 23:54:22Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourcegroups/myResourceGroup/providers/microsoft.authorization/policyassignments/b7a1ca2596524e3ab19597f2' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/4a0425e4-97bf-4ad0-ab36-145b94083c60'",
+ "nonCompliantResources": 7
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeResourceGroupScope.json
new file mode 100644
index 000000000000..40e5acdb8cd8
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeResourceGroupScope.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 55,
+ "nonCompliantPolicies": 20
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c'",
+ "nonCompliantResources": 55,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
+ "nonCompliantResources": 55
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a",
+ "policySetDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a'",
+ "nonCompliantResources": 55,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/d0610b27-9663-4c05-89f8-5b4be01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:55:09Z&$to=2018-02-13 19:55:09Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
+ "nonCompliantResources": 55
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeResourceScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeResourceScope.json
new file mode 100644
index 000000000000..4dd9b0ebc4bb
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeResourceScope.json
@@ -0,0 +1,353 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "resourceId": "subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 14
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/8174043a1e2849179635b874' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/72c0c41a-c752-4bc0-9c61-0d6adc567066'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a",
+ "policySetDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policyassignments/186044306c044a1d8c0ff76c' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/mymg/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/fed0d6ef-c76c-4a3d-a4ec-de07b1e7900b",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/fed0d6ef-c76c-4a3d-a4ec-de07b1e7900b'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/fed0d6ef-c76c-4a3d-a4ec-de07b1e7900b' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f5f5249bd6124d0692c2af52",
+ "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/bafcd34b-58c6-47b4-bc8b-f35198d6a025",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f5f5249bd6124d0692c2af52'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/test",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f5f5249bd6124d0692c2af52' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/testtest'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e4a08f18-4e3e-47af-a2eb-cc96d8c9a030",
+ "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/e4a08f18-4e3e-47af-a2eb-cc96d8c9a01f",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e4a08f18-4e3e-47af-a2eb-cc96d8c9a030'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 2
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and its value",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e4a08f18-4e3e-47af-a2eb-cc96d8c9a030' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and its value'",
+ "nonCompliantResources": 1
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e4a08f18-4e3e-47af-a2eb-cc96d8c9a030' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
+ "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dc7c38a6-42a9-4261-b54e-92549cd6e010",
+ "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/deny a resource based on owner tag",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dc7c38a6-42a9-4261-b54e-92549cd6e010'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/dc7c38a6-42a9-4261-b54e-92549cd6e010' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/audit a tag and it's value'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d6be6bb37e5f4333baa95c2a",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d6be6bb37e5f4333baa95c2a'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/5948d091-78b7-4d3b-a404-cc6a0329b0c6",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/d6be6bb37e5f4333baa95c2a' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/5948d091-78b7-4d3b-a404-cc6a0329b0c6'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
+ "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
+ "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 3
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
+ "nonCompliantResources": 1
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 1
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policySetDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1'",
+ "nonCompliantResources": 1,
+ "nonCompliantPolicies": 3
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
+ "nonCompliantResources": 1
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 1
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/my-vault/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:59:17Z&$to=2018-02-13 19:59:17Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and PolicyDefinitionId eq '/subscriptions/fff10b27-fff3-fff5-fff8-fffbe01e86a5/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 1
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json
new file mode 100644
index 000000000000..ceb06b37a1c0
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policyAssignmentName": "ec8f9645-8ecb-4abb-9c0b-5292f19d4003",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 531,
+ "nonCompliantPolicies": 1
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531'",
+ "nonCompliantResources": 531,
+ "nonCompliantPolicies": 4
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 531
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 531
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
+ "nonCompliantResources": 220
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:09:24Z&$to=2018-02-13 20:09:24Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682'",
+ "nonCompliantResources": 54
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json
new file mode 100644
index 000000000000..adf0fff51c2a
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policyDefinitionName": "24813039-7534-408a-9842-eb99f45721b1",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 561,
+ "nonCompliantPolicies": 4
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
+ "nonCompliantResources": 558,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 558
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29'",
+ "nonCompliantResources": 553,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 553
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1'",
+ "nonCompliantResources": 531,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/ddd8ef92e3714a5ea3d208c1' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 531
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/12b58873-e0f8-4b95-936c-86cbe7c9d697",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531'",
+ "nonCompliantResources": 531,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policyDefinitions/24813039-7534-408a-9842-eb99f45721b1/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 20:07:10Z&$to=2018-02-13 20:07:10Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/f4cc58b7db524a9799381531' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 531
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json
new file mode 100644
index 000000000000..62de2e9ba540
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "authorizationNamespace": "Microsoft.Authorization",
+ "policySetDefinitionName": "3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "api-version": "2018-07-01-preview",
+ "$from": "2018-02-05T18:00:00Z",
+ "$to": "2018-02-06T18:00:00Z",
+ "$filter": "PolicyDefinitionAction eq 'deny'",
+ "$top": 1
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.Authorization/policySetDefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-05 18:00:00Z&$to=2018-02-06 18:00:00Z&$filter=(PolicyDefinitionAction eq 'deny') and IsCompliant eq false",
+ "nonCompliantResources": 0,
+ "nonCompliantPolicies": 0
+ },
+ "policyAssignments": []
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionScope.json
new file mode 100644
index 000000000000..df8b17e9016e
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_SummarizeSubscriptionScope.json
@@ -0,0 +1,147 @@
+{
+ "parameters": {
+ "policyStatesSummaryResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2018-07-01-preview",
+ "$top": 5
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary",
+ "@odata.count": 1,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#summary/$entity",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false",
+ "nonCompliantResources": 619,
+ "nonCompliantPolicies": 40
+ },
+ "policyAssignments": [
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/a03db67e-a286-43c3-9098-b2da83d361ad",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01'",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/e46af646ebdb461dba708e01' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 557
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7'",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/d9da7e80af6344ab9d342aa7' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 557
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49",
+ "policySetDefinitionId": "",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49'",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/dcda79d769674aea8bfcaa49' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/c8b79b49-a579-4045-984e-1b249ab8b474'",
+ "nonCompliantResources": 557
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a",
+ "policySetDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policysetdefinitions/335cefd2-ab16-430f-b364-974a170eb1d5",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a'",
+ "nonCompliantResources": 557,
+ "nonCompliantPolicies": 1
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policyassignments/1ef5d536aec743a0aa801c1a' and PolicyDefinitionId eq '/providers/microsoft.management/managementgroups/myManagementGroup/providers/microsoft.authorization/policydefinitions/022d9357-5a90-46f7-9554-21d30ce4c32d'",
+ "nonCompliantResources": 557
+ }
+ }
+ ]
+ },
+ {
+ "policyAssignmentId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29",
+ "policySetDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policysetdefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e338c",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29'",
+ "nonCompliantResources": 552,
+ "nonCompliantPolicies": 3
+ },
+ "policyDefinitions": [
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/24813039-7534-408a-9842-eb99f45721b1'",
+ "nonCompliantResources": 552
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/locationauditdefinition'",
+ "nonCompliantResources": 29
+ }
+ },
+ {
+ "policyDefinitionId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682",
+ "policyDefinitionReferenceId": "",
+ "effect": "audit",
+ "results": {
+ "queryResultsUri": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2018-07-01-preview&$from=2018-02-12 19:48:53Z&$to=2018-02-13 19:48:53Z&$filter=IsCompliant eq false and PolicyAssignmentId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policyassignments/3f3c4330183b4e218fe6fd29' and PolicyDefinitionId eq '/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/microsoft.authorization/policydefinitions/3e3807c1-65c9-49e0-a406-82d8ae3e3682'",
+ "nonCompliantResources": 2
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_TimeRangeSortSelectTop.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_TimeRangeSortSelectTop.json
new file mode 100644
index 000000000000..67daad9e9a5d
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/examples/PolicyStates_TimeRangeSortSelectTop.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "policyStatesResource": "latest",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "api-version": "2018-07-01-preview",
+ "$from": "2018-02-05T18:00:00Z",
+ "$to": "2018-02-06T18:00:00Z",
+ "$orderby": "Timestamp desc, PolicyAssignmentId asc, SubscriptionId asc, ResourceGroup asc, ResourceId",
+ "$select": "Timestamp, PolicyAssignmentId, PolicyDefinitionId, SubscriptionId, ResourceGroup, ResourceId",
+ "$top": 2
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
+ "@odata.count": 2,
+ "value": [
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-06T17:58:00Z",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/8cb1e007-947f-423a-ad0c-7ab7dc7d0255/providers/Microsoft.Authorization/policyAssignments/1654a0254ab34920a60f94eb",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroup": "myrg1",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/mysa1"
+ },
+ {
+ "@odata.id": null,
+ "@odata.context": "https://management.azure.com/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
+ "timestamp": "2018-02-06T17:58:00Z",
+ "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/8cb1e007-947f-423a-ad0c-7ab7dc7d0255/providers/Microsoft.Authorization/policyAssignments/1654a0254ab34920a60f94eb",
+ "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759",
+ "subscriptionId": "fffedd8f-ffff-fffd-fffd-fffed2f84852",
+ "resourceGroup": "myrg2",
+ "resourceId": "/subscriptions/fffedd8f-ffff-fffd-fffd-fffed2f84852/resourceGroups/myrg2/providers/Microsoft.Storage/storageAccounts/mysa2"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json
new file mode 100644
index 000000000000..9195fd5a6021
--- /dev/null
+++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json
@@ -0,0 +1,1605 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PolicyStatesClient",
+ "version": "2018-07-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "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/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForManagementGroup",
+ "description": "Queries policy states for the resources under the management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at management group scope": { "$ref": "./examples/PolicyStates_QueryManagementGroupScope.json" }
+ }
+ }
+ },
+ "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForManagementGroup",
+ "description": "Summarizes policy states for the resources under the management group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupsNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/managementGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at management group scope": { "$ref": "./examples/PolicyStates_SummarizeManagementGroupScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForSubscription",
+ "description": "Queries policy states for the resources under the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at subscription scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionScope.json" },
+ "Time range; sort, select and limit": { "$ref": "./examples/PolicyStates_TimeRangeSortSelectTop.json" },
+ "Filter and group with aggregate": { "$ref": "./examples/PolicyStates_FilterAndGroupByWithAggregate.json" },
+ "Filter and group without aggregate": { "$ref": "./examples/PolicyStates_FilterAndGroupByWithoutAggregate.json" },
+ "Filter and aggregate only": { "$ref": "./examples/PolicyStates_FilterAndAggregateOnly.json" },
+ "Filter and multiple groups": { "$ref": "./examples/PolicyStates_FilterAndMultipleGroups.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForSubscription",
+ "description": "Summarizes policy states for the resources under the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at subscription scope": { "$ref": "./examples/PolicyStates_SummarizeSubscriptionScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForResourceGroup",
+ "description": "Queries policy states for the resources under the resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at resource group scope": { "$ref": "./examples/PolicyStates_QueryResourceGroupScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForResourceGroup",
+ "description": "Summarizes policy states for the resources under the resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at resource group scope": { "$ref": "./examples/PolicyStates_SummarizeResourceGroupScope.json" }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForResource",
+ "description": "Queries policy states for the resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ },
+ {
+ "$ref": "#/parameters/expandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query all policy states at resource scope": { "$ref": "./examples/PolicyStates_QueryResourceScope.json" },
+ "Query all policy states at subscription level resource scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelResourceScope.json" },
+ "Query all policy states at nested resource scope": { "$ref": "./examples/PolicyStates_QueryNestedResourceScope.json" },
+ "Query all policy states at subscription level nested resource scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelNestedResourceScope.json" },
+ "Query all policy states at resource scope and expand policyEvaluationDetails": { "$ref": "./examples/PolicyStates_QueryResourceScopeExpandPolicyEvaluationDetails.json" }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForResource",
+ "description": "Summarizes policy states for the resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at resource scope": { "$ref": "./examples/PolicyStates_SummarizeResourceScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForPolicySetDefinition",
+ "description": "Queries policy states for the subscription level policy set definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policySetDefinitionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at subscription level policy set definition scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicySetDefinitionScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForPolicySetDefinition",
+ "description": "Summarizes policy states for the subscription level policy set definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policySetDefinitionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at policy set definition scope": { "$ref": "./examples/PolicyStates_SummarizeSubscriptionLevelPolicySetDefinitionScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForPolicyDefinition",
+ "description": "Queries policy states for the subscription level policy definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyDefinitionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at subscription level policy definition scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyDefinitionScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForPolicyDefinition",
+ "description": "Summarizes policy states for the subscription level policy definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyDefinitionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at policy definition scope": { "$ref": "./examples/PolicyStates_SummarizeSubscriptionLevelPolicyDefinitionScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForSubscriptionLevelPolicyAssignment",
+ "description": "Queries policy states for the subscription level policy assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at subscription level policy assignment scope": { "$ref": "./examples/PolicyStates_QuerySubscriptionLevelPolicyAssignmentScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForSubscriptionLevelPolicyAssignment",
+ "description": "Summarizes policy states for the subscription level policy assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at policy assignment scope": { "$ref": "./examples/PolicyStates_SummarizeSubscriptionLevelPolicyAssignmentScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults": {
+ "post": {
+ "operationId": "PolicyStates_ListQueryResultsForResourceGroupLevelPolicyAssignment",
+ "description": "Queries policy states for the resource group level policy assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/orderByParameter"
+ },
+ {
+ "$ref": "#/parameters/selectParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ },
+ {
+ "$ref": "#/parameters/applyParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Query results.",
+ "schema": {
+ "$ref": "#/definitions/PolicyStatesQueryResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query latest at resource group level policy assignment scope": { "$ref": "./examples/PolicyStates_QueryResourceGroupLevelPolicyAssignmentScope.json" }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize": {
+ "post": {
+ "operationId": "PolicyStates_SummarizeForResourceGroupLevelPolicyAssignment",
+ "description": "Summarizes policy states for the resource group level policy assignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/policyStatesSummaryResourceParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/authorizationNamespaceParameter"
+ },
+ {
+ "$ref": "#/parameters/policyAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/topParameter"
+ },
+ {
+ "$ref": "#/parameters/fromParameter"
+ },
+ {
+ "$ref": "#/parameters/toParameter"
+ },
+ {
+ "$ref": "#/parameters/filterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Summarize results.",
+ "schema": {
+ "$ref": "#/definitions/SummarizeResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Summarize at policy assignment scope": { "$ref": "./examples/PolicyStates_SummarizeResourceGroupLevelPolicyAssignmentScope.json" }
+ }
+ }
+ },
+ "/providers/Microsoft.PolicyInsights/operations": {
+ "get": {
+ "operationId": "Operations_List",
+ "description": "Lists available operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of available operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List operations": { "$ref": "./examples/PolicyStates_ListOperations.json" }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.PolicyInsights/policyStates/$metadata": {
+ "get": {
+ "operationId": "PolicyStates_GetMetadata",
+ "description": "Gets OData metadata XML document.",
+ "produces": [
+ "application/xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OData metadata XML document.",
+ "schema": {
+ "$ref": "#/definitions/MetadataDocument"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/QueryFailure"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get metadata": { "$ref": "./examples/PolicyStates_GetMetadata.json" }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PolicyStatesQueryResults": {
+ "description": "Query results.",
+ "properties": {
+ "@odata.context": {
+ "description": "OData context string; used by OData clients to resolve type information based on metadata.",
+ "type": "string"
+ },
+ "@odata.count": {
+ "description": "OData entity count; represents the number of policy state records returned.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ },
+ "value": {
+ "description": "Query results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyState"
+ }
+ }
+ }
+ },
+ "PolicyState": {
+ "type": "object",
+ "description": "Policy state record.",
+ "properties": {
+ "@odata.id": {
+ "description": "OData entity ID; always set to null since policy state records do not have an entity ID.",
+ "type": "string"
+ },
+ "@odata.context": {
+ "description": "OData context string; used by OData clients to resolve type information based on metadata.",
+ "type": "string"
+ },
+ "timestamp": {
+ "description": "Timestamp for the policy state record.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "resourceId": {
+ "description": "Resource ID.",
+ "type": "string"
+ },
+ "policyAssignmentId": {
+ "description": "Policy assignment ID.",
+ "type": "string"
+ },
+ "policyDefinitionId": {
+ "description": "Policy definition ID.",
+ "type": "string"
+ },
+ "effectiveParameters": {
+ "description": "Effective parameters for the policy assignment.",
+ "type": "string"
+ },
+ "isCompliant": {
+ "description": "Flag which states whether the resource is compliant against the policy assignment it was evaluated against.",
+ "type": "boolean"
+ },
+ "subscriptionId": {
+ "description": "Subscription ID.",
+ "type": "string"
+ },
+ "resourceType": {
+ "description": "Resource type.",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Resource location.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group name.",
+ "type": "string"
+ },
+ "resourceTags": {
+ "description": "List of resource tags.",
+ "type": "string"
+ },
+ "policyAssignmentName": {
+ "description": "Policy assignment name.",
+ "type": "string"
+ },
+ "policyAssignmentOwner": {
+ "description": "Policy assignment owner.",
+ "type": "string"
+ },
+ "policyAssignmentParameters": {
+ "description": "Policy assignment parameters.",
+ "type": "string"
+ },
+ "policyAssignmentScope": {
+ "description": "Policy assignment scope.",
+ "type": "string"
+ },
+ "policyDefinitionName": {
+ "description": "Policy definition name.",
+ "type": "string"
+ },
+ "policyDefinitionAction": {
+ "description": "Policy definition action, i.e. effect.",
+ "type": "string"
+ },
+ "policyDefinitionCategory": {
+ "description": "Policy definition category.",
+ "type": "string"
+ },
+ "policySetDefinitionId": {
+ "description": "Policy set definition ID, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "policySetDefinitionName": {
+ "description": "Policy set definition name, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "policySetDefinitionOwner": {
+ "description": "Policy set definition owner, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "policySetDefinitionCategory": {
+ "description": "Policy set definition category, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "policySetDefinitionParameters": {
+ "description": "Policy set definition parameters, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "managementGroupIds": {
+ "description": "Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under.",
+ "type": "string"
+ },
+ "policyDefinitionReferenceId": {
+ "description": "Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "complianceState": {
+ "description": "Compliance state of the resource.",
+ "type": "string"
+ },
+ "policyEvaluationDetails": {
+ "description": "Policy evaluation details.",
+ "type": "object",
+ "$ref": "#/definitions/PolicyEvaluationDetails"
+ }
+ },
+ "additionalProperties": {
+ "description": "The list of key/value pairs for the additional properties, in the format 'key':'value' where key = the field name, and value = the field value. By default this is not populated"
+ }
+ },
+ "PolicyEvaluationDetails": {
+ "type": "object",
+ "description": "Policy evaluation details.",
+ "properties": {
+ "evaluatedExpressions": {
+ "description": "Details of the evaluated expressions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExpressionEvaluationDetails"
+ }
+ },
+ "ifNotExistsDetails": {
+ "description": "Evaluation details of IfNotExists effect.",
+ "type": "object",
+ "$ref": "#/definitions/IfNotExistsEvaluationDetails"
+ }
+ }
+ },
+ "ExpressionEvaluationDetails": {
+ "type": "object",
+ "description": "Evaluation details of policy language expressions.",
+ "properties": {
+ "result": {
+ "description": "Evaluation result.",
+ "type": "string"
+ },
+ "expression": {
+ "description": "Expression evaluated.",
+ "type": "string"
+ },
+ "path": {
+ "description": "Property path if the expression is a field or an alias.",
+ "type": "string"
+ },
+ "expressionValue": {
+ "description": "Value of the expression.",
+ "type": "string"
+ },
+ "targetValue": {
+ "description": "Target value to be compared with the expression value.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "Operator to compare the expression value and the target value.",
+ "type": "string"
+ }
+ }
+ },
+ "IfNotExistsEvaluationDetails": {
+ "type": "object",
+ "description": "Evaluation details of IfNotExists effect.",
+ "properties": {
+ "resourceId": {
+ "description": "ID of the last evaluated resource for IfNotExists effect.",
+ "type": "string"
+ },
+ "totalResources": {
+ "description": "Total number of resources to which the existence condition is applicable.",
+ "type": "integer"
+ }
+ }
+ },
+ "SummarizeResults": {
+ "description": "Summarize action results.",
+ "properties": {
+ "@odata.context": {
+ "description": "OData context string; used by OData clients to resolve type information based on metadata.",
+ "type": "string"
+ },
+ "@odata.count": {
+ "description": "OData entity count; represents the number of summaries returned; always set to 1.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 1
+ },
+ "value": {
+ "description": "Summarize action results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Summary"
+ }
+ }
+ }
+ },
+ "Summary": {
+ "description": "Summary results.",
+ "properties": {
+ "@odata.id": {
+ "description": "OData entity ID; always set to null since summaries do not have an entity ID.",
+ "type": "string"
+ },
+ "@odata.context": {
+ "description": "OData context string; used by OData clients to resolve type information based on metadata.",
+ "type": "string"
+ },
+ "results": {
+ "description": "Non-compliance summary for all policy assignments.",
+ "$ref": "#/definitions/SummaryResults"
+ },
+ "policyAssignments": {
+ "description": "Policy assignments summary.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyAssignmentSummary"
+ }
+ }
+ }
+ },
+ "SummaryResults": {
+ "description": "Non-compliance summary on a particular summary level.",
+ "properties": {
+ "queryResultsUri": {
+ "description": "HTTP POST URI for queryResults action on Microsoft.PolicyInsights to retrieve raw results for the non-compliance summary.",
+ "type": "string"
+ },
+ "nonCompliantResources": {
+ "description": "Number of non-compliant resources.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ },
+ "nonCompliantPolicies": {
+ "description": "Number of non-compliant policies.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ }
+ }
+ },
+ "PolicyAssignmentSummary": {
+ "description": "Policy assignment summary.",
+ "properties": {
+ "policyAssignmentId": {
+ "description": "Policy assignment ID.",
+ "type": "string"
+ },
+ "policySetDefinitionId": {
+ "description": "Policy set definition ID, if the policy assignment is for a policy set.",
+ "type": "string"
+ },
+ "results": {
+ "description": "Non-compliance summary for the policy assignment.",
+ "$ref": "#/definitions/SummaryResults"
+ },
+ "policyDefinitions": {
+ "description": "Policy definitions summary.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyDefinitionSummary"
+ }
+ }
+ }
+ },
+ "PolicyDefinitionSummary": {
+ "description": "Policy definition summary.",
+ "properties": {
+ "policyDefinitionId": {
+ "description": "Policy definition ID.",
+ "type": "string"
+ },
+ "policyDefinitionReferenceId": {
+ "description": "Policy definition reference ID.",
+ "type": "string"
+ },
+ "effect": {
+ "description": "Policy effect, i.e. policy definition action.",
+ "type": "string"
+ },
+ "results": {
+ "description": "Non-compliance summary for the policy definition.",
+ "$ref": "#/definitions/SummaryResults"
+ }
+ }
+ },
+ "QueryFailure": {
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "OperationsListResults": {
+ "description": "List of available operations.",
+ "properties": {
+ "@odata.count": {
+ "description": "OData entity count; represents the number of operations returned.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1
+ },
+ "value": {
+ "description": "List of available operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation definition.",
+ "properties": {
+ "name": {
+ "description": "Operation name.",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "properties": {
+ "provider": {
+ "description": "Resource provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource name on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Operation description.",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "MetadataDocument": {
+ "description": "Metadata XML document.",
+ "type": "string"
+ }
+ },
+ "parameters": {
+ "policyStatesResourceParameter": {
+ "name": "policyStatesResource",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "default",
+ "latest"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyStatesResource",
+ "modelAsString": true
+ },
+ "description": "The virtual resource under PolicyStates resource type. In a given time range, 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s).",
+ "x-ms-parameter-location": "method"
+ },
+ "policyStatesSummaryResourceParameter": {
+ "name": "policyStatesSummaryResource",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "latest"
+ ],
+ "description": "The virtual resource under PolicyStates resource type for summarize action. In a given time range, 'latest' represents the latest policy state(s) and is the only allowed value.",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupsNamespaceParameter": {
+ "name": "managementGroupsNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Microsoft.Management"
+ ],
+ "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupNameParameter": {
+ "name": "managementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Management group name.",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Microsoft Azure subscription ID.",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group name.",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceIdParameter": {
+ "name": "resourceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource ID.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "authorizationNamespaceParameter": {
+ "name": "authorizationNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Microsoft.Authorization"
+ ],
+ "description": "The namespace for Microsoft Authorization resource provider; only \"Microsoft.Authorization\" is allowed.",
+ "x-ms-parameter-location": "method"
+ },
+ "policySetDefinitionNameParameter": {
+ "name": "policySetDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Policy set definition name.",
+ "x-ms-parameter-location": "method"
+ },
+ "policyDefinitionNameParameter": {
+ "name": "policyDefinitionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Policy definition name.",
+ "x-ms-parameter-location": "method"
+ },
+ "policyAssignmentNameParameter": {
+ "name": "policyAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Policy assignment name.",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid scope, i.e. management group, subscription, resource group, or resource ID. Scope used has no effect on metadata returned.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "API version to use with the client requests.",
+ "x-ms-parameter-location": "client"
+ },
+ "topParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "Maximum number of records to return.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Top"
+ },
+ "orderByParameter": {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Ordering expression using OData notation. One or more comma-separated column names with an optional \"desc\" (the default) or \"asc\", e.g. \"$orderby=PolicyAssignmentId, ResourceId asc\".",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "OrderBy"
+ },
+ "selectParameter": {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Select expression using OData notation. Limits the columns on each record to just those requested, e.g. \"$select=PolicyAssignmentId, ResourceId\".",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Select"
+ },
+ "fromParameter": {
+ "name": "$from",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, the service uses ($to - 1-day).",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "From"
+ },
+ "toParameter": {
+ "name": "$to",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "ISO 8601 formatted timestamp specifying the end time of the interval to query. When not specified, the service uses request time.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "To"
+ },
+ "filterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData filter expression.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Filter"
+ },
+ "applyParameter": {
+ "name": "$apply",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData apply expression for aggregations.",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Apply"
+ },
+ "expandParameter": {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The $expand query parameter. For example, to expand policyEvaluationDetails, use $expand=policyEvaluationDetails",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "QueryOptions"
+ },
+ "x-ms-client-name": "Expand"
+ }
+ }
+}
diff --git a/specification/policyinsights/resource-manager/readme.md b/specification/policyinsights/resource-manager/readme.md
index f57d8b086041..1578d675bd00 100644
--- a/specification/policyinsights/resource-manager/readme.md
+++ b/specification/policyinsights/resource-manager/readme.md
@@ -66,7 +66,7 @@ input-file:
- Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json
- Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json
- Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json
-- Microsoft.PolicyInsights/stable/2018-04-04/policyStates.json
+- Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json
```
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ReplicasListByServer.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ReplicasListByServer.json
new file mode 100644
index 000000000000..1246cc443c71
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ReplicasListByServer.json
@@ -0,0 +1,156 @@
+{
+ "parameters": {
+ "serverName": "testserver-master",
+ "resourceGroupName": "TestGroup_WestCentralUS",
+ "api-version": "2017-12-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "GP_Gen4_16",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "properties": {
+ "administratorLogin": "postgres",
+ "storageProfile": {
+ "storageMB": 2048000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Disabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver-replica1.postgres.database.azure.com",
+ "earliestRestoreDate": "2018-06-12T00:05:03.2695756+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-master",
+ "replicaCapacity": 0
+ },
+ "location": "westcentralus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-replica1",
+ "name": "testserver-replica1",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ },
+ {
+ "sku": {
+ "name": "GP_Gen4_16",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "properties": {
+ "administratorLogin": "postgres",
+ "storageProfile": {
+ "storageMB": 2048000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Disabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver-replica2.postgres.database.azure.com",
+ "earliestRestoreDate": "2018-06-12T00:05:03.2695756+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-master",
+ "replicaCapacity": 0
+ },
+ "location": "westcentralus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-replica2",
+ "name": "testserver-replica2",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ },
+ {
+ "sku": {
+ "name": "GP_Gen4_16",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "properties": {
+ "administratorLogin": "postgres",
+ "storageProfile": {
+ "storageMB": 2048000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Disabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver-replica3.postgres.database.azure.com",
+ "earliestRestoreDate": "2018-06-12T00:05:03.2695756+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-master",
+ "replicaCapacity": 0
+ },
+ "location": "westcentralus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-replica3",
+ "name": "testserver-replica3",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ },
+ {
+ "sku": {
+ "name": "GP_Gen4_16",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "properties": {
+ "administratorLogin": "postgres",
+ "storageProfile": {
+ "storageMB": 2048000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Disabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver-replica4.postgres.database.azure.com",
+ "earliestRestoreDate": "2018-06-12T00:05:03.2695756+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-master",
+ "replicaCapacity": 0
+ },
+ "location": "westcentralus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-replica4",
+ "name": "testserver-replica4",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ },
+ {
+ "sku": {
+ "name": "GP_Gen4_16",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 16
+ },
+ "properties": {
+ "administratorLogin": "postgres",
+ "storageProfile": {
+ "storageMB": 2048000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Disabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver-replica5.postgres.database.azure.com",
+ "earliestRestoreDate": "2018-06-12T00:05:03.2695756+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-master",
+ "replicaCapacity": 0
+ },
+ "location": "westcentralus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-replica5",
+ "name": "testserver-replica5",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ }
+ ]
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreate.json
index 406a3136f1c1..d48932d9e6d1 100644
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreate.json
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreate.json
@@ -18,10 +18,10 @@
"createMode": "Default"
},
"sku": {
- "name": "SkuName",
+ "name": "B_Gen5_2",
"tier": "Basic",
"capacity": 2,
- "family": "Gen4"
+ "family": "Gen5"
},
"tags": {
"ElasticServer": "1"
@@ -37,8 +37,8 @@
"location": "eastus",
"sku": {
"capacity": 2,
- "family": "Gen4",
- "name": "PGSQL_B_Gen4_2",
+ "family": "Gen5",
+ "name": "B_Gen5_2",
"size": null,
"tier": "Basic"
},
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreateGeoRestoreMode.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreateGeoRestoreMode.json
new file mode 100644
index 000000000000..f51ae56982cb
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreateGeoRestoreMode.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "serverName": "targetserver",
+ "resourceGroupName": "TargetResourceGroup",
+ "api-version": "2017-12-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "Japan West",
+ "properties": {
+ "createMode": "GeoRestore",
+ "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/sourceserver"
+ },
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "tags": {
+ "ElasticServer": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.postgres.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T21:08:24.637+00:00"
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.postgres.database.azure.com",
+ "earliestRestoreDate": "2018-03-14T21:08:24.637+00:00"
+ },
+ "location": "westus",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreatePointInTimeRestore.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreatePointInTimeRestore.json
new file mode 100644
index 000000000000..b3461eca5aa2
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreatePointInTimeRestore.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "serverName": "targetserver",
+ "resourceGroupName": "TargetResourceGroup",
+ "api-version": "2017-12-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "location": "brazilsouth",
+ "properties": {
+ "restorePointInTime": "2017-12-14T00:00:37.467Z",
+ "createMode": "PointInTimeRestore",
+ "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/sourceserver"
+ },
+ "sku": {
+ "name": "B_Gen4_2",
+ "tier": "Basic",
+ "capacity": 2,
+ "family": "Gen4"
+ },
+ "tags": {
+ "ElasticServer": "1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "B_Gen4_2",
+ "tier": "Basic",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.postgres.database.azure.com",
+ "earliestRestoreDate": "2017-12-14T21:08:24.637+00:00"
+ },
+ "location": "brazilsouth",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "name": "B_Gen4_2",
+ "tier": "Basic",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "cloudsa",
+ "storageProfile": {
+ "storageMB": 128000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Enabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "targetserver.postgres.database.azure.com",
+ "earliestRestoreDate": "2017-12-14T21:08:24.637+00:00"
+ },
+ "location": "brazilsouth",
+ "tags": {
+ "ElasticServer": "1"
+ },
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforPostgreSQL/servers/targetserver",
+ "name": "targetserver",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreateReplicaMode.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreateReplicaMode.json
new file mode 100644
index 000000000000..8795c17e6072
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerCreateReplicaMode.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "serverName": "testserver-replica1",
+ "resourceGroupName": "TestGroup_WestCentralUS",
+ "api-version": "2017-12-01-preview",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
+ "parameters": {
+ "Location": "westcentralus",
+ "Properties": {
+ "createMode": "Replica",
+ "sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-master"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "postgres",
+ "storageProfile": {
+ "storageMB": 2048000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Disabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver-replica1.postgres.database.azure.com",
+ "earliestRestoreDate": "2018-06-20T00:17:56.677+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-master",
+ "replicaCapacity": 0
+ },
+ "location": "westcentralus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-replica1",
+ "name": "testserver-replica1",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ }
+ },
+ "200": {
+ "body": {
+ "sku": {
+ "name": "GP_Gen4_2",
+ "tier": "GeneralPurpose",
+ "family": "Gen4",
+ "capacity": 2
+ },
+ "properties": {
+ "administratorLogin": "postgres",
+ "storageProfile": {
+ "storageMB": 2048000,
+ "backupRetentionDays": 7,
+ "geoRedundantBackup": "Disabled"
+ },
+ "version": "9.6",
+ "sslEnforcement": "Disabled",
+ "userVisibleState": "Ready",
+ "fullyQualifiedDomainName": "testserver-replica1.postgres.database.azure.com",
+ "earliestRestoreDate": "2018-06-20T00:17:56.677+00:00",
+ "replicationRole": "Replica",
+ "masterServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-master",
+ "replicaCapacity": 0
+ },
+ "location": "westcentralus",
+ "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup_WestCentralUS/providers/Microsoft.DBforPostgreSQL/servers/testserver-replica1",
+ "name": "testserver-replica1",
+ "type": "Microsoft.DBforPostgreSQL/servers"
+ }
+ },
+ "202": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerGet.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerGet.json
index 95d55cade7a0..a44cf96aa0a4 100644
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerGet.json
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/examples/ServerGet.json
@@ -31,8 +31,12 @@
"administratorLogin": "cloudsa",
"sslEnforcement": "Enabled",
"userVisibleState": "Ready",
- "fullyQualifiedDomainName": "testserver.test-vm1.onebox.xdb.mscds.com",
- "version": "9.6"
+ "fullyQualifiedDomainName": "testserver.postgres.database.azure.com",
+ "version": "9.6",
+ "earliestRestoreDate": "2018-06-12T21:42:59.6651019+00:00",
+ "replicationRole": "None",
+ "masterServerId": "",
+ "replicaCapacity": 5
}
}
}
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json
index 70de9806a07a..56d006949857 100644
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/preview/2017-12-01-preview/postgresql.json
@@ -41,8 +41,17 @@
],
"operationId": "Servers_Create",
"x-ms-examples": {
- "ServerCreate": {
+ "Create a new server": {
"$ref": "./examples/ServerCreate.json"
+ },
+ "Create a database as a point in time restore": {
+ "$ref": "./examples/ServerCreatePointInTimeRestore.json"
+ },
+ "Create a server as a geo restore ": {
+ "$ref": "./examples/ServerCreateGeoRestoreMode.json"
+ },
+ "Create a replica server": {
+ "$ref": "./examples/ServerCreateReplicaMode.json"
}
},
"description": "Creates a new server, or will overwrite an existing server.",
@@ -277,6 +286,45 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Replicas": {
+ "get": {
+ "tags": [
+ "Replicas"
+ ],
+ "operationId": "Replicas_ListByServer",
+ "x-ms-examples": {
+ "ReplicasListByServer": {
+ "$ref": "./examples/ReplicasListByServer.json"
+ }
+ },
+ "description": "List all the replicas for a given server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ServerListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": {
"put": {
"tags": [
@@ -1006,6 +1054,20 @@
"storageProfile": {
"$ref": "#/definitions/StorageProfile",
"description": "Storage profile of a server."
+ },
+ "replicationRole": {
+ "type": "string",
+ "description": "The replication role of the server."
+ },
+ "masterServerId": {
+ "type": "string",
+ "description": "The master server id of a replica server."
+ },
+ "replicaCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "description": "The maximum number of replicas that a master server can have."
}
},
"description": "The properties of a server."
@@ -1059,7 +1121,9 @@
"description": "The mode to create a new server.",
"enum": [
"Default",
- "PointInTimeRestore"
+ "PointInTimeRestore",
+ "GeoRestore",
+ "Replica"
],
"x-ms-enum": {
"name": "CreateMode",
@@ -1115,7 +1179,43 @@
"sourceServerId",
"restorePointInTime"
],
- "description": "The properties to a new server by restoring from a backup."
+ "description": "The properties used to create a new server by restoring from a backup."
+ },
+ "ServerPropertiesForGeoRestore": {
+ "x-ms-discriminator-value": "GeoRestore",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServerPropertiesForCreate"
+ }
+ ],
+ "properties": {
+ "sourceServerId": {
+ "type": "string",
+ "description": "The source server id to restore from."
+ }
+ },
+ "required": [
+ "sourceServerId"
+ ],
+ "description": "The properties used to create a new server by restoring to a different region from a geo replicated backup."
+ },
+ "ServerPropertiesForReplica": {
+ "x-ms-discriminator-value": "Replica",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServerPropertiesForCreate"
+ }
+ ],
+ "properties": {
+ "sourceServerId": {
+ "type": "string",
+ "description": "The master server id to create replica from."
+ }
+ },
+ "required": [
+ "sourceServerId"
+ ],
+ "description": "The properties to create a new replica."
},
"Sku": {
"properties": {
@@ -1478,10 +1578,6 @@
},
"LogFileProperties": {
"properties": {
- "name": {
- "type": "string",
- "description": "Log file name."
- },
"sizeInKB": {
"type": "integer",
"format": "int64",
@@ -1558,15 +1654,6 @@
"hardwareGeneration": {
"type": "string",
"description": "Hardware generation associated with the service level objective"
- }
- },
- "description": "Service level objectives for performance tier."
- },
- "PerformanceTierProperties": {
- "properties": {
- "id": {
- "type": "string",
- "description": "ID of the performance tier."
},
"maxBackupRetentionDays": {
"type": "integer",
@@ -1585,6 +1672,15 @@
"type": "integer",
"format": "int32",
"description": "Max storage allowed for a server."
+ }
+ },
+ "description": "Service level objectives for performance tier."
+ },
+ "PerformanceTierProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ID of the performance tier."
},
"serviceLevelObjectives": {
"type": "array",
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreate.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreate.json
index 9c3e8901184a..3fbb869baf84 100644
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreate.json
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreate.json
@@ -18,10 +18,10 @@
"createMode": "Default"
},
"sku": {
- "name": "B_Gen4_2",
+ "name": "B_Gen5_2",
"tier": "Basic",
"capacity": 2,
- "family": "Gen4"
+ "family": "Gen5"
},
"tags": {
"ElasticServer": "1"
@@ -32,9 +32,9 @@
"201": {
"body": {
"sku": {
- "name": "B_Gen4_2",
+ "name": "B_Gen5_2",
"tier": "Basic",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
@@ -62,9 +62,9 @@
"200": {
"body": {
"sku": {
- "name": "B_Gen4_2",
+ "name": "B_Gen5_2",
"tier": "Basic",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreateGeoRestoreMode.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreateGeoRestoreMode.json
index edef65a0916e..4931cad298ee 100644
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreateGeoRestoreMode.json
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreateGeoRestoreMode.json
@@ -5,15 +5,15 @@
"api-version": "2017-12-01",
"subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff",
"parameters": {
- "location": "Japan West",
+ "location": "westus",
"properties": {
"createMode": "GeoRestore",
"sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/sourceserver"
},
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"tags": {
@@ -25,9 +25,9 @@
"201": {
"body": {
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
@@ -55,9 +55,9 @@
"200": {
"body": {
"sku": {
- "name": "GP_Gen4_2",
+ "name": "GP_Gen5_2",
"tier": "GeneralPurpose",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreatePointInTimeRestore.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreatePointInTimeRestore.json
index 3e55b3c13d0c..c6be2799e954 100644
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreatePointInTimeRestore.json
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerCreatePointInTimeRestore.json
@@ -12,10 +12,10 @@
"sourceServerId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/SourceResourceGroup/providers/Microsoft.DBforPostgreSQL/servers/sourceserver"
},
"sku": {
- "name": "B_Gen4_2",
+ "name": "B_Gen5_2",
"tier": "Basic",
"capacity": 2,
- "family": "Gen4"
+ "family": "Gen5"
},
"tags": {
"ElasticServer": "1"
@@ -26,9 +26,9 @@
"201": {
"body": {
"sku": {
- "name": "B_Gen4_2",
+ "name": "B_Gen5_2",
"tier": "Basic",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
@@ -56,9 +56,9 @@
"200": {
"body": {
"sku": {
- "name": "B_Gen4_2",
+ "name": "B_Gen5_2",
"tier": "Basic",
- "family": "Gen4",
+ "family": "Gen5",
"capacity": 2
},
"properties": {
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerRestart.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerRestart.json
new file mode 100644
index 000000000000..bc355a010136
--- /dev/null
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/examples/ServerRestart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serverName": "testserver",
+ "resourceGroupName": "TestGroup",
+ "api-version": "2017-12-01",
+ "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+ }
\ No newline at end of file
diff --git a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json
index 622db149a3aa..6c17b50a8be3 100644
--- a/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json
+++ b/specification/postgresql/resource-manager/Microsoft.DBforPostgreSQL/stable/2017-12-01/postgresql.json
@@ -283,6 +283,47 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/restart": {
+ "post": {
+ "tags": [
+ "ServerRestart"
+ ],
+ "operationId": "Servers_Restart",
+ "x-ms-examples": {
+ "ServerRestart": { "$ref": "./examples/ServerRestart.json" }
+ },
+ "description": "Restarts a server.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": {
"put": {
"tags": [
@@ -2107,6 +2148,40 @@
"x-ms-client-flatten": true
}
}
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
}
},
"parameters": {
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneDelete.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneDelete.json
new file mode 100644
index 000000000000..b583108a3ecd
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneGet.json
new file mode 100644
index 000000000000..99f4cbfde23d
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com",
+ "name": "privatezone1.com",
+ "type": "Microsoft.Network/privateDnsZones",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "maxNumberOfRecordSets": 5000,
+ "numberOfRecordSets": 1,
+ "maxNumberOfVirtualNetworkLinks": 100,
+ "numberOfVirtualNetworkLinks": 0,
+ "maxNumberOfVirtualNetworkLinksWithRegistration": 50,
+ "numberOfVirtualNetworkLinksWithRegistration": 0,
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneListInResourceGroup.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneListInResourceGroup.json
new file mode 100644
index 000000000000..662d7c96f43c
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneListInResourceGroup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com",
+ "name": "privatezone1.com",
+ "type": "Microsoft.Network/privateDnsZones",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "maxNumberOfRecordSets": 5000,
+ "numberOfRecordSets": 1,
+ "maxNumberOfVirtualNetworkLinks": 100,
+ "numberOfVirtualNetworkLinks": 0,
+ "maxNumberOfVirtualNetworkLinksWithRegistration": 50,
+ "numberOfVirtualNetworkLinksWithRegistration": 0,
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone2.com",
+ "name": "privatezone2.com",
+ "type": "Microsoft.Network/privateDnsZones",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "maxNumberOfRecordSets": 5000,
+ "numberOfRecordSets": 1,
+ "maxNumberOfVirtualNetworkLinks": 100,
+ "numberOfVirtualNetworkLinks": 0,
+ "maxNumberOfVirtualNetworkLinksWithRegistration": 50,
+ "numberOfVirtualNetworkLinksWithRegistration": 0,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneListInSubscription.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneListInSubscription.json
new file mode 100644
index 000000000000..4f2f61d4555d
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZoneListInSubscription.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/providers/Microsoft.Network/privateDnsZones?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com",
+ "name": "privatezone1.com",
+ "type": "Microsoft.Network/privateDnsZones",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "maxNumberOfRecordSets": 5000,
+ "numberOfRecordSets": 1,
+ "maxNumberOfVirtualNetworkLinks": 100,
+ "numberOfVirtualNetworkLinks": 0,
+ "maxNumberOfVirtualNetworkLinksWithRegistration": 50,
+ "numberOfVirtualNetworkLinksWithRegistration": 0,
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateDnsZones/privatezone2.com",
+ "name": "privatezone2.com",
+ "type": "Microsoft.Network/privateDnsZones",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "maxNumberOfRecordSets": 5000,
+ "numberOfRecordSets": 1,
+ "maxNumberOfVirtualNetworkLinks": 100,
+ "numberOfVirtualNetworkLinks": 0,
+ "maxNumberOfVirtualNetworkLinksWithRegistration": 50,
+ "numberOfVirtualNetworkLinksWithRegistration": 0,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZonePatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZonePatch.json
new file mode 100644
index 000000000000..1584e1997340
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZonePatch.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "tags": {
+ "key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com",
+ "name": "privatezone1.com",
+ "type": "Microsoft.Network/privateDnsZones",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "maxNumberOfRecordSets": 5000,
+ "numberOfRecordSets": 1,
+ "maxNumberOfVirtualNetworkLinks": 100,
+ "numberOfVirtualNetworkLinks": 0,
+ "maxNumberOfVirtualNetworkLinksWithRegistration": 50,
+ "numberOfVirtualNetworkLinksWithRegistration": 0,
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key2": "value2"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+ }
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZonePut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZonePut.json
new file mode 100644
index 000000000000..12871f34f90b
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/PrivateZonePut.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "location": "Global",
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com",
+ "name": "privatezone1.com",
+ "type": "Microsoft.Network/privateDnsZones",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "maxNumberOfRecordSets": 5000,
+ "numberOfRecordSets": 1,
+ "maxNumberOfVirtualNetworkLinks": 100,
+ "numberOfVirtualNetworkLinks": 0,
+ "maxNumberOfVirtualNetworkLinksWithRegistration": 50,
+ "numberOfVirtualNetworkLinksWithRegistration": 0,
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com",
+ "name": "privatezone1.com",
+ "type": "Microsoft.Network/privateDnsZones",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "maxNumberOfRecordSets": 5000,
+ "numberOfRecordSets": 1,
+ "maxNumberOfVirtualNetworkLinks": 100,
+ "numberOfVirtualNetworkLinks": 0,
+ "maxNumberOfVirtualNetworkLinksWithRegistration": 50,
+ "numberOfVirtualNetworkLinksWithRegistration": 0,
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAADelete.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAADelete.json
new file mode 100644
index 000000000000..30219a68a37d
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAADelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "AAAA",
+ "relativeRecordSetName": "recordAAAA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAGet.json
new file mode 100644
index 000000000000..5ca3f8173c6a
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "AAAA",
+ "relativeRecordSetName": "recordAAAA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordaaaa",
+ "type": "Microsoft.Network/privateDnsZones/AAAA",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordaaaa.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aaaaRecords": [
+ {
+ "ipv6Address": "::1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAList.json
new file mode 100644
index 000000000000..69dd56c0c53e
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAList.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "AAAA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/AAAA?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa1",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordaaaa1",
+ "type": "Microsoft.Network/privateDnsZones/AAAA",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordaaaa1.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aaaaRecords": [
+ {
+ "ipv6Address": "::1"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa2",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordaaaa2",
+ "type": "Microsoft.Network/privateDnsZones/AAAA",
+ "properties": {
+ "ttl": 3600,
+ "fqdn": "recordaaaa2.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aaaaRecords": [
+ {
+ "ipv6Address": "::1"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAPatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAPatch.json
new file mode 100644
index 000000000000..d50acd7fe874
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAPatch.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "AAAA",
+ "relativeRecordSetName": "recordAAAA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordaaaa",
+ "type": "Microsoft.Network/privateDnsZones/AAAA",
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ },
+ "ttl": 3600,
+ "fqdn": "recordaaaa.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aaaaRecords": [
+ {
+ "ipv6Address": "::1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAPut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAPut.json
new file mode 100644
index 000000000000..f557e4165498
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAAAAPut.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "AAAA",
+ "relativeRecordSetName": "recordAAAA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "aaaaRecords": [
+ {
+ "ipv6Address": "::1"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordaaaa",
+ "type": "Microsoft.Network/privateDnsZones/AAAA",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordaaaa.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aaaaRecords": [
+ {
+ "ipv6Address": "::1"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/AAAA/recordaaaa",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordaaaa",
+ "type": "Microsoft.Network/privateDnsZones/AAAA",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordaaaa.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aaaaRecords": [
+ {
+ "ipv6Address": "::1"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetADelete.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetADelete.json
new file mode 100644
index 000000000000..1ef97f3442a0
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetADelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "A",
+ "relativeRecordSetName": "recordA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+ }
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAGet.json
new file mode 100644
index 000000000000..b0e8a2b43538
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "A",
+ "relativeRecordSetName": "recordA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recorda",
+ "type": "Microsoft.Network/privateDnsZones/A",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recorda.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aRecords": [
+ {
+ "ipv4Address": "1.2.3.4"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetALLList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetALLList.json
new file mode 100644
index 000000000000..bb3d49b074db
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetALLList.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/ALL?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recorda",
+ "type": "Microsoft.Network/privateDnsZones/A",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recorda.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aRecords": [
+ {
+ "ipv4Address": "1.2.3.4"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordcname",
+ "type": "Microsoft.Network/privateDnsZones/CNAME",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordcname.privatezone1.com.",
+ "isAutoRegistered": false,
+ "cnameRecord": {
+ "cname": "contoso.com"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordmx",
+ "type": "Microsoft.Network/privateDnsZones/MX",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordmx.privatezone1.com.",
+ "isAutoRegistered": false,
+ "mxRecords": [
+ {
+ "preference": 0,
+ "exchange": "mail.contoso1.com"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAList.json
new file mode 100644
index 000000000000..23e00ff6d46e
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAList.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "A",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/A?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda1",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recorda1",
+ "type": "Microsoft.Network/privateDnsZones/A",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recorda1.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aRecords": [
+ {
+ "ipv4Address": "1.2.3.4"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda2",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recorda2",
+ "type": "Microsoft.Network/privateDnsZones/A",
+ "properties": {
+ "ttl": 3600,
+ "fqdn": "recorda2.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aRecords": [
+ {
+ "ipv4Address": "5.6.7.8"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAPatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAPatch.json
new file mode 100644
index 000000000000..3e82863fc000
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAPatch.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "A",
+ "relativeRecordSetName": "recordA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recorda",
+ "type": "Microsoft.Network/privateDnsZones/A",
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ },
+ "ttl": 3600,
+ "fqdn": "recorda.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aRecords": [
+ {
+ "ipv4Address": "1.2.3.4"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAPut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAPut.json
new file mode 100644
index 000000000000..3e5450335155
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetAPut.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "A",
+ "relativeRecordSetName": "recordA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "aRecords": [
+ {
+ "ipv4Address": "1.2.3.4"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recorda",
+ "type": "Microsoft.Network/privateDnsZones/A",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recorda.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aRecords": [
+ {
+ "ipv4Address": "1.2.3.4"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/A/recorda",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recorda",
+ "type": "Microsoft.Network/privateDnsZones/A",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recorda.privatezone1.com.",
+ "isAutoRegistered": false,
+ "aRecords": [
+ {
+ "ipv4Address": "1.2.3.4"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEDelete.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEDelete.json
new file mode 100644
index 000000000000..a1bcb25c7eb2
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "CNAME",
+ "relativeRecordSetName": "recordCNAME",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEGet.json
new file mode 100644
index 000000000000..7c742118ae59
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "CNAME",
+ "relativeRecordSetName": "recordCNAME",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordcname",
+ "type": "Microsoft.Network/privateDnsZones/CNAME",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordcname.privatezone1.com.",
+ "isAutoRegistered": false,
+ "cnameRecord": {
+ "cname": "contoso.com"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEList.json
new file mode 100644
index 000000000000..7836f73799fe
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "CNAME",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordcname",
+ "type": "Microsoft.Network/privateDnsZones/CNAME",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordcname.privatezone1.com.",
+ "isAutoRegistered": false,
+ "cnameRecord": {
+ "cname": "contoso.com"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEPatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEPatch.json
new file mode 100644
index 000000000000..56c5772072ca
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEPatch.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "CNAME",
+ "relativeRecordSetName": "recordCNAME",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordcname",
+ "type": "Microsoft.Network/privateDnsZones/CNAME",
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ },
+ "ttl": 3600,
+ "fqdn": "recordcname.privatezone1.com.",
+ "isAutoRegistered": false,
+ "cnameRecord": {
+ "cname": "contoso.com"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEPut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEPut.json
new file mode 100644
index 000000000000..7277584297f3
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetCNAMEPut.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "CNAME",
+ "relativeRecordSetName": "recordCNAME",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "cnameRecord": {
+ "cname": "contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordcname",
+ "type": "Microsoft.Network/privateDnsZones/CNAME",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordcname.privatezone1.com.",
+ "isAutoRegistered": false,
+ "cnameRecord": {
+ "cname": "contoso.com"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/CNAME/recordcname",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordcname",
+ "type": "Microsoft.Network/privateDnsZones/CNAME",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordcname.privatezone1.com.",
+ "isAutoRegistered": false,
+ "cnameRecord": {
+ "cname": "contoso.com"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXDelete.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXDelete.json
new file mode 100644
index 000000000000..88857ba29015
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "MX",
+ "relativeRecordSetName": "recordMX",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXGet.json
new file mode 100644
index 000000000000..fa83f9bcfa15
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "MX",
+ "relativeRecordSetName": "recordMX",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordmx",
+ "type": "Microsoft.Network/privateDnsZones/MX",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordmx.privatezone1.com.",
+ "isAutoRegistered": false,
+ "mxRecords": [
+ {
+ "preference": 0,
+ "exchange": "mail.privatezone1.com"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXList.json
new file mode 100644
index 000000000000..287829bb8d63
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXList.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "MX",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/MX?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx1",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordmx1",
+ "type": "Microsoft.Network/privateDnsZones/MX",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordmx1.privatezone1.com.",
+ "isAutoRegistered": false,
+ "mxRecords": [
+ {
+ "preference": 0,
+ "exchange": "mail.contoso1.com"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx2",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordmx2",
+ "type": "Microsoft.Network/privateDnsZones/MX",
+ "properties": {
+ "ttl": 3600,
+ "fqdn": "recordmx2.privatezone1.com.",
+ "isAutoRegistered": false,
+ "mxRecords": [
+ {
+ "preference": 0,
+ "exchange": "mail.contoso2.com"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXPatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXPatch.json
new file mode 100644
index 000000000000..bbfcb2bcd760
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXPatch.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "MX",
+ "relativeRecordSetName": "recordMX",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordmx",
+ "type": "Microsoft.Network/privateDnsZones/MX",
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ },
+ "ttl": 3600,
+ "fqdn": "recordmx.privatezone1.com.",
+ "isAutoRegistered": false,
+ "mxRecords": [
+ {
+ "preference": 0,
+ "exchange": "mail.privatezone1.com"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXPut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXPut.json
new file mode 100644
index 000000000000..e3e336383a6f
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetMXPut.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "MX",
+ "relativeRecordSetName": "recordMX",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "mxRecords": [
+ {
+ "preference": 0,
+ "exchange": "mail.privatezone1.com"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordmx",
+ "type": "Microsoft.Network/privateDnsZones/MX",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordmx.privatezone1.com.",
+ "isAutoRegistered": false,
+ "mxRecords": [
+ {
+ "preference": 0,
+ "exchange": "mail.privatezone1.com"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/MX/recordmx",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordmx",
+ "type": "Microsoft.Network/privateDnsZones/MX",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordmx.privatezone1.com.",
+ "isAutoRegistered": false,
+ "mxRecords": [
+ {
+ "preference": 0,
+ "exchange": "mail.privatezone1.com"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRDelete.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRDelete.json
new file mode 100644
index 000000000000..beb728224c24
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "0.0.127.in-addr.arpa",
+ "recordType": "PTR",
+ "relativeRecordSetName": "1",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRGet.json
new file mode 100644
index 000000000000..747011d44f24
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "0.0.127.in-addr.arpa",
+ "recordType": "PTR",
+ "relativeRecordSetName": "1",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "1",
+ "type": "Microsoft.Network/privateDnsZones/PTR",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "1.0.0.127.in-addr.arpa.",
+ "isAutoRegistered": false,
+ "ptrRecords": [
+ {
+ "ptrdname": "localhost"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRList.json
new file mode 100644
index 000000000000..d3e18fbd0558
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "0.0.127.in-addr.arpa",
+ "recordType": "PTR",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/PTR?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "1",
+ "type": "Microsoft.Network/privateDnsZones/PTR",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "1.0.0.127.in-addr.arpa.",
+ "isAutoRegistered": false,
+ "ptrRecords": [
+ {
+ "ptrdname": "localhost"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRPatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRPatch.json
new file mode 100644
index 000000000000..b94f4e3b6df1
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRPatch.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "0.0.127.in-addr.arpa",
+ "recordType": "PTR",
+ "relativeRecordSetName": "1",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "1",
+ "type": "Microsoft.Network/privateDnsZones/PTR",
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ },
+ "ttl": 3600,
+ "fqdn": "1.0.0.127.in-addr.arpa.",
+ "isAutoRegistered": false,
+ "ptrRecords": [
+ {
+ "ptrdname": "localhost"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRPut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRPut.json
new file mode 100644
index 000000000000..372469d003a2
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetPTRPut.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "0.0.127.in-addr.arpa",
+ "recordType": "PTR",
+ "relativeRecordSetName": "1",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "ptrRecords": [
+ {
+ "ptrdname": "localhost"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "1",
+ "type": "Microsoft.Network/privateDnsZones/PTR",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "1.0.0.127.in-addr.arpa.",
+ "isAutoRegistered": false,
+ "ptrRecords": [
+ {
+ "ptrdname": "localhost"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/0.0.127.in-addr.arpa/PTR/1",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "1",
+ "type": "Microsoft.Network/privateDnsZones/PTR",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "1.0.0.127.in-addr.arpa.",
+ "isAutoRegistered": false,
+ "ptrRecords": [
+ {
+ "ptrdname": "localhost"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAGet.json
new file mode 100644
index 000000000000..e3898e00cd18
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "SOA",
+ "relativeRecordSetName": "@",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "@",
+ "type": "Microsoft.Network/privateDnsZones/SOA",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "privatezone1.com.",
+ "isAutoRegistered": false,
+ "soaRecord": {
+ "host": "azureprivatedns.net",
+ "email": "azureprivatedns-hostmaster.microsoft.com",
+ "serialNumber": 1,
+ "refreshTime": 3600,
+ "retryTime": 300,
+ "expireTime": 2419200,
+ "minimumTtl": 300
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAList.json
new file mode 100644
index 000000000000..1a2ba6e13e5d
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "SOA",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "@",
+ "type": "Microsoft.Network/privateDnsZones/SOA",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "privatezone1.com.",
+ "isAutoRegistered": false,
+ "soaRecord": {
+ "host": "azureprivatedns.net",
+ "email": "azureprivatedns-hostmaster.microsoft.com",
+ "serialNumber": 1,
+ "refreshTime": 3600,
+ "retryTime": 300,
+ "expireTime": 2419200,
+ "minimumTtl": 300
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAPatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAPatch.json
new file mode 100644
index 000000000000..6fbabe47ed17
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAPatch.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "SOA",
+ "relativeRecordSetName": "@",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "@",
+ "type": "Microsoft.Network/privateDnsZones/SOA",
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ },
+ "ttl": 3600,
+ "fqdn": "privatezone1.com.",
+ "isAutoRegistered": false,
+ "soaRecord": {
+ "host": "azureprivatedns.net",
+ "email": "azureprivatedns-hostmaster.microsoft.com",
+ "serialNumber": 1,
+ "refreshTime": 3600,
+ "retryTime": 300,
+ "expireTime": 2419200,
+ "minimumTtl": 300
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAPut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAPut.json
new file mode 100644
index 000000000000..a7cf7643792a
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSOAPut.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "SOA",
+ "relativeRecordSetName": "@",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "soaRecord": {
+ "host": "azureprivatedns.net",
+ "email": "azureprivatedns-hostmaster.microsoft.com",
+ "serialNumber": 1,
+ "refreshTime": 3600,
+ "retryTime": 300,
+ "expireTime": 2419200,
+ "minimumTtl": 300
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "@",
+ "type": "Microsoft.Network/privateDnsZones/SOA",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "privatezone1.com.",
+ "isAutoRegistered": false,
+ "soaRecord": {
+ "host": "azureprivatedns.net",
+ "email": "azureprivatedns-hostmaster.microsoft.com",
+ "serialNumber": 1,
+ "refreshTime": 3600,
+ "retryTime": 300,
+ "expireTime": 2419200,
+ "minimumTtl": 300
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SOA/@",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "@",
+ "type": "Microsoft.Network/privateDnsZones/SOA",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "privatezone1.com.",
+ "isAutoRegistered": false,
+ "soaRecord": {
+ "host": "azureprivatedns.net",
+ "email": "azureprivatedns-hostmaster.microsoft.com",
+ "serialNumber": 1,
+ "refreshTime": 3600,
+ "retryTime": 300,
+ "expireTime": 2419200,
+ "minimumTtl": 300
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVDelete.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVDelete.json
new file mode 100644
index 000000000000..43032aefcbc4
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "SRV",
+ "relativeRecordSetName": "recordSRV",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVGet.json
new file mode 100644
index 000000000000..83b6967b365a
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "SRV",
+ "relativeRecordSetName": "recordSRV",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordsrv",
+ "type": "Microsoft.Network/privateDnsZones/SRV",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordsrv.privatezone1.com.",
+ "isAutoRegistered": false,
+ "srvRecords": [
+ {
+ "priority": 0,
+ "weight": 10,
+ "port": 80,
+ "target": "contoso.com"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVList.json
new file mode 100644
index 000000000000..0cd6843ee321
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "SRV",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/SRV?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordsrv",
+ "type": "Microsoft.Network/privateDnsZones/SRV",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordsrv.privatezone1.com.",
+ "isAutoRegistered": false,
+ "srvRecords": [
+ {
+ "priority": 0,
+ "weight": 10,
+ "port": 80,
+ "target": "contoso.com"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVPatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVPatch.json
new file mode 100644
index 000000000000..89e0dfcef4c9
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVPatch.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "SRV",
+ "relativeRecordSetName": "recordSRV",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordsrv",
+ "type": "Microsoft.Network/privateDnsZones/SRV",
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ },
+ "ttl": 3600,
+ "fqdn": "recordsrv.privatezone1.com.",
+ "isAutoRegistered": false,
+ "srvRecords": [
+ {
+ "priority": 0,
+ "weight": 10,
+ "port": 80,
+ "target": "contoso.com"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVPut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVPut.json
new file mode 100644
index 000000000000..f836f73af5e5
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetSRVPut.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "SRV",
+ "relativeRecordSetName": "recordSRV",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "srvRecords": [
+ {
+ "priority": 0,
+ "weight": 10,
+ "port": 80,
+ "target": "contoso.com"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordsrv",
+ "type": "Microsoft.Network/privateDnsZones/SRV",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordsrv.privatezone1.com.",
+ "isAutoRegistered": false,
+ "srvRecords": [
+ {
+ "priority": 0,
+ "weight": 10,
+ "port": 80,
+ "target": "contoso.com"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/SRV/recordsrv",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordsrv",
+ "type": "Microsoft.Network/privateDnsZones/SRV",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordsrv.privatezone1.com.",
+ "isAutoRegistered": false,
+ "srvRecords": [
+ {
+ "priority": 0,
+ "weight": 10,
+ "port": 80,
+ "target": "contoso.com"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTDelete.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTDelete.json
new file mode 100644
index 000000000000..6bfccb842424
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "TXT",
+ "relativeRecordSetName": "recordTXT",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTGet.json
new file mode 100644
index 000000000000..ec791145641d
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "TXT",
+ "relativeRecordSetName": "recordTXT",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordtxt",
+ "type": "Microsoft.Network/privateDnsZones/TXT",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordtxt.privatezone1.com.",
+ "isAutoRegistered": false,
+ "txtRecords": [
+ {
+ "value": [
+ "string1",
+ "string2"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTList.json
new file mode 100644
index 000000000000..a9dc5d6c6f2c
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "TXT",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/TXT?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordtxt",
+ "type": "Microsoft.Network/privateDnsZones/TXT",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordtxt.privatezone1.com.",
+ "isAutoRegistered": false,
+ "txtRecords": [
+ {
+ "value": [
+ "string1",
+ "string2"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTPatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTPatch.json
new file mode 100644
index 000000000000..abb6d0b50b75
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTPatch.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "TXT",
+ "relativeRecordSetName": "recordTXT",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordtxt",
+ "type": "Microsoft.Network/privateDnsZones/TXT",
+ "properties": {
+ "metadata": {
+ "key2": "value2"
+ },
+ "ttl": 3600,
+ "fqdn": "recordtxt.privatezone1.com.",
+ "isAutoRegistered": false,
+ "txtRecords": [
+ {
+ "value": [
+ "string1",
+ "string2"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTPut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTPut.json
new file mode 100644
index 000000000000..6420c3e87c50
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/RecordSetTXTPut.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "recordType": "TXT",
+ "relativeRecordSetName": "recordTXT",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "txtRecords": [
+ {
+ "value": [
+ "string1",
+ "string2"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordtxt",
+ "type": "Microsoft.Network/privateDnsZones/TXT",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordtxt.privatezone1.com.",
+ "isAutoRegistered": false,
+ "txtRecords": [
+ {
+ "value": [
+ "string1",
+ "string2"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/TXT/recordtxt",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "name": "recordtxt",
+ "type": "Microsoft.Network/privateDnsZones/TXT",
+ "properties": {
+ "metadata": {
+ "key1": "value1"
+ },
+ "ttl": 3600,
+ "fqdn": "recordtxt.privatezone1.com.",
+ "isAutoRegistered": false,
+ "txtRecords": [
+ {
+ "value": [
+ "string1",
+ "string2"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkDelete.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkDelete.json
new file mode 100644
index 000000000000..dbe7bfda9237
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "virtualNetworkLinkName": "virtualNetworkLink1",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkGet.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkGet.json
new file mode 100644
index 000000000000..71f875a25c56
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "virtualNetworkLinkName": "virtualNetworkLink1",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1",
+ "name": "virtualNetworkLink1",
+ "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "virtualNetwork": {
+ "id": "/subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName"
+ },
+ "registrationEnabled": false,
+ "virtualNetworkLinkState": "Completed",
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkList.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkList.json
new file mode 100644
index 000000000000..f39fc5f36b52
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/virtualNetworkLinks?api-version=2018-09-01&$skipToken=skipToken",
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1",
+ "name": "virtualNetworkLink1",
+ "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "virtualNetwork": {
+ "id": "/subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName"
+ },
+ "registrationEnabled": false,
+ "virtualNetworkLinkState": "Completed",
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink2",
+ "name": "virtualNetworkLink2",
+ "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "virtualNetwork": {
+ "id": "/subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName"
+ },
+ "registrationEnabled": true,
+ "virtualNetworkLinkState": "InProgress",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkPatch.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkPatch.json
new file mode 100644
index 000000000000..a7bdd20a56cc
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkPatch.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "virtualNetworkLinkName": "virtualNetworkLink1",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "tags": {
+ "key2": "value2"
+ },
+ "properties": {
+ "registrationEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1",
+ "name": "virtualNetworkLink1",
+ "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "virtualNetwork": {
+ "id": "/subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName"
+ },
+ "registrationEnabled": true,
+ "virtualNetworkLinkState": "Completed",
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key2": "value2"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkPut.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkPut.json
new file mode 100644
index 000000000000..57724e54d678
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/examples/VirtualNetworkLinkPut.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "resourceGroupName": "resourceGroup1",
+ "privateZoneName": "privatezone1.com",
+ "virtualNetworkLinkName": "virtualNetworkLink1",
+ "api-version": "2018-09-01",
+ "subscriptionId": "subscriptionId",
+ "parameters": {
+ "location": "Global",
+ "tags": {
+ "key1": "value1"
+ },
+ "properties": {
+ "virtualNetwork": {
+ "id": "/subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName"
+ },
+ "registrationEnabled": false
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1",
+ "name": "virtualNetworkLink1",
+ "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "virtualNetwork": {
+ "id": "/subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName"
+ },
+ "registrationEnabled": false,
+ "virtualNetworkLinkState": "Completed",
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsZones/privatezone1.com/virtualNetworkLinks/virtualNetworkLink1",
+ "name": "virtualNetworkLink1",
+ "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
+ "location": "global",
+ "etag": "00000000-0000-0000-0000-000000000000",
+ "properties": {
+ "virtualNetwork": {
+ "id": "/subscriptions/virtualNetworkSubscriptionId/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/virtualNetworkName"
+ },
+ "registrationEnabled": false,
+ "virtualNetworkLinkState": "Completed",
+ "provisioningState": "Succeeded"
+ },
+ "tags": {
+ "key1": "value1"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationResults/asyncOperationId?api-version=2018-09-01",
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroup1/providers/Microsoft.Network/privateDnsOperationStatuses/asyncOperationId?api-version=2018-09-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/privatedns.json b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/privatedns.json
new file mode 100644
index 000000000000..995f575d13dd
--- /dev/null
+++ b/specification/privatedns/resource-manager/Microsoft.Network/stable/2018-09-01/privatedns.json
@@ -0,0 +1,1919 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "PrivateDnsManagementClient",
+ "description": "The Private DNS Management Client.",
+ "version": "2018-09-01"
+ },
+ "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": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}": {
+ "put": {
+ "tags": [
+ "PrivateZones"
+ ],
+ "operationId": "PrivateZones_CreateOrUpdate",
+ "description": "Creates or updates a Private DNS zone. Does not modify Links to virtual networks or DNS records within the zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateZone"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes."
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfNoneMatch",
+ "description": "Set to '*' to allow a new Private DNS zone to be created, but to prevent updating an existing zone. Other values will be ignored."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The Private DNS zone has been created.",
+ "schema": {
+ "$ref": "#/definitions/PrivateZone"
+ }
+ },
+ "200": {
+ "description": "The Private DNS zone has been updated.",
+ "schema": {
+ "$ref": "#/definitions/PrivateZone"
+ }
+ },
+ "202": {
+ "description": "The Private DNS zone upsert operation has been accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PUT Private DNS Zone": {
+ "$ref": "./examples/PrivateZonePut.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PrivateZones"
+ ],
+ "operationId": "PrivateZones_Update",
+ "description": "Updates a Private DNS zone. Does not modify virtual network links or DNS records within the zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateZone"
+ },
+ "description": "Parameters supplied to the Update operation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Private DNS zone has been updated.",
+ "schema": {
+ "$ref": "#/definitions/PrivateZone"
+ }
+ },
+ "202": {
+ "description": "The Private DNS zone update operation has been accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PATCH Private DNS Zone": {
+ "$ref": "./examples/PrivateZonePatch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateZones"
+ ],
+ "operationId": "PrivateZones_Delete",
+ "description": "Deletes a Private DNS zone. WARNING: All DNS records in the zone will also be deleted. This operation cannot be undone. Private DNS zone cannot be deleted unless all virtual network links to it are removed.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the Private DNS zone. Omit this value to always delete the current zone. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Private DNS zone has been deleted."
+ },
+ "202": {
+ "description": "The Private DNS zone delete operation has been accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The Private DNS zone was not found."
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DELETE Private DNS Zone": {
+ "$ref": "./examples/PrivateZoneDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PrivateZones"
+ ],
+ "operationId": "PrivateZones_Get",
+ "description": "Gets a Private DNS zone. Retrieves the zone properties, but not the virtual networks links or the record sets within the zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "schema": {
+ "$ref": "#/definitions/PrivateZone"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GET Private DNS Zone": {
+ "$ref": "./examples/PrivateZoneGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateDnsZones": {
+ "get": {
+ "tags": [
+ "PrivateZones"
+ ],
+ "operationId": "PrivateZones_List",
+ "description": "Lists the Private DNS zones in all resource groups in a subscription.",
+ "parameters": [
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of Private DNS zones to return. If not specified, returns up to 100 zones."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "schema": {
+ "$ref": "#/definitions/PrivateZoneListResult"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GET Private DNS Zone by Subscription": {
+ "$ref": "./examples/PrivateZoneListInSubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones": {
+ "get": {
+ "tags": [
+ "PrivateZones"
+ ],
+ "operationId": "PrivateZones_ListByResourceGroup",
+ "description": "Lists the Private DNS zones within a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of record sets to return. If not specified, returns up to 100 record sets."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "schema": {
+ "$ref": "#/definitions/PrivateZoneListResult"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GET Private DNS Zone by Resource Group": {
+ "$ref": "./examples/PrivateZoneListInResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks/{virtualNetworkLinkName}": {
+ "put": {
+ "tags": [
+ "VirtualNetworkLinks"
+ ],
+ "operationId": "VirtualNetworkLinks_CreateOrUpdate",
+ "description": "Creates or updates a virtual network link to the specified Private DNS zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "virtualNetworkLinkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network link."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkLink"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the virtual network link to the Private DNS zone. Omit this value to always overwrite the current virtual network link. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes."
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfNoneMatch",
+ "description": "Set to '*' to allow a new virtual network link to the Private DNS zone to be created, but to prevent updating an existing link. Other values will be ignored."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The virtual network link to the Private DNS zone has been created.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkLink"
+ }
+ },
+ "200": {
+ "description": "The virtual network link to the Private DNS zone has been updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkLink"
+ }
+ },
+ "202": {
+ "description": "The operation to upsert virtual network link to the Private DNS zone has been accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PUT Private DNS Zone Virtual Network Link": {
+ "$ref": "./examples/VirtualNetworkLinkPut.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworkLinks"
+ ],
+ "operationId": "VirtualNetworkLinks_Update",
+ "description": "Updates a virtual network link to the specified Private DNS zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "virtualNetworkLinkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network link."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkLink"
+ },
+ "description": "Parameters supplied to the Update operation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the virtual network link to the Private DNS zone. Omit this value to always overwrite the current virtual network link. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The virtual network link to the Private DNS zone has been updated.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkLink"
+ }
+ },
+ "202": {
+ "description": "The operation to link virtual network link to Private DNS zone has been accepted and will complete asynchronously."
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PATCH Private DNS Zone Virtual Network Link": {
+ "$ref": "./examples/VirtualNetworkLinkPatch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualNetworkLinks"
+ ],
+ "operationId": "VirtualNetworkLinks_Delete",
+ "description": "Deletes a virtual network link to the specified Private DNS zone. WARNING: In case of a registration virtual network, all auto-registered DNS records in the zone for the virtual network will also be deleted. This operation cannot be undone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "virtualNetworkLinkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network link."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the virtual network link to the Private DNS zone. Omit this value to always delete the current zone. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The virtual network link to the Private DNS zone has been deleted."
+ },
+ "202": {
+ "description": "The operation to delete virtual network link to the Private DNS zone has been accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The virtual network link to the Private DNS zone was not found."
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DELETE Private DNS Zone Virtual Network Link": {
+ "$ref": "./examples/VirtualNetworkLinkDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworkLinks"
+ ],
+ "operationId": "VirtualNetworkLinks_Get",
+ "description": "Gets a virtual network link to the specified Private DNS zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "virtualNetworkLinkName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual network link."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkLink"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GET Private DNS Zone Virtual Network Link": {
+ "$ref": "./examples/VirtualNetworkLinkGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks": {
+ "get": {
+ "tags": [
+ "VirtualNetworkLinks"
+ ],
+ "operationId": "VirtualNetworkLinks_List",
+ "description": "Lists the virtual network links to the specified Private DNS zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of virtual network links to return. If not specified, returns up to 100 virtual network links."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworkLinkListResult"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Private DNS Zone Virtual Network Links": {
+ "$ref": "./examples/VirtualNetworkLinkList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/{recordType}/{relativeRecordSetName}": {
+ "put": {
+ "tags": [
+ "RecordSets"
+ ],
+ "operationId": "RecordSets_CreateOrUpdate",
+ "description": "Creates or updates a record set within a Private DNS zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "recordType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The type of DNS record in this record set. Record sets of type SOA can be updated but not created (they are created when the Private DNS zone is created).",
+ "enum": [
+ "A",
+ "AAAA",
+ "CNAME",
+ "MX",
+ "PTR",
+ "SOA",
+ "SRV",
+ "TXT"
+ ],
+ "x-ms-enum": {
+ "name": "RecordType",
+ "modelAsString": false
+ }
+ },
+ {
+ "name": "relativeRecordSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the record set, relative to the name of the zone.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecordSet"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes."
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfNoneMatch",
+ "description": "Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The record set has been created.",
+ "schema": {
+ "$ref": "#/definitions/RecordSet"
+ }
+ },
+ "200": {
+ "description": "The record set has been updated.",
+ "schema": {
+ "$ref": "#/definitions/RecordSet"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PUT Private DNS Zone A Record Set": {
+ "$ref": "./examples/RecordSetAPut.json"
+ },
+ "PUT Private DNS Zone AAAA Record Set": {
+ "$ref": "./examples/RecordSetAAAAPut.json"
+ },
+ "PUT Private DNS Zone CNAME Record Set": {
+ "$ref": "./examples/RecordSetCNAMEPut.json"
+ },
+ "PUT Private DNS Zone MX Record Set": {
+ "$ref": "./examples/RecordSetMXPut.json"
+ },
+ "PUT Private DNS Zone PTR Record Set": {
+ "$ref": "./examples/RecordSetPTRPut.json"
+ },
+ "PUT Private DNS Zone SOA Record Set": {
+ "$ref": "./examples/RecordSetSOAPut.json"
+ },
+ "PUT Private DNS Zone SRV Record Set": {
+ "$ref": "./examples/RecordSetSRVPut.json"
+ },
+ "PUT Private DNS Zone TXT Record Set": {
+ "$ref": "./examples/RecordSetTXTPut.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "RecordSets"
+ ],
+ "operationId": "RecordSets_Update",
+ "description": "Updates a record set within a Private DNS zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "recordType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The type of DNS record in this record set.",
+ "enum": [
+ "A",
+ "AAAA",
+ "CNAME",
+ "MX",
+ "PTR",
+ "SOA",
+ "SRV",
+ "TXT"
+ ],
+ "x-ms-enum": {
+ "name": "RecordType",
+ "modelAsString": false
+ }
+ },
+ {
+ "name": "relativeRecordSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the record set, relative to the name of the zone.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RecordSet"
+ },
+ "description": "Parameters supplied to the Update operation."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The record set has been updated.",
+ "schema": {
+ "$ref": "#/definitions/RecordSet"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PATCH Private DNS Zone A Record Set": {
+ "$ref": "./examples/RecordSetAPatch.json"
+ },
+ "PATCH Private DNS Zone AAAA Record Set": {
+ "$ref": "./examples/RecordSetAAAAPatch.json"
+ },
+ "PATCH Private DNS Zone CNAME Record Set": {
+ "$ref": "./examples/RecordSetCNAMEPatch.json"
+ },
+ "PATCH Private DNS Zone MX Record Set": {
+ "$ref": "./examples/RecordSetMXPatch.json"
+ },
+ "PATCH Private DNS Zone PTR Record Set": {
+ "$ref": "./examples/RecordSetPTRPatch.json"
+ },
+ "PATCH Private DNS Zone SOA Record Set": {
+ "$ref": "./examples/RecordSetSOAPatch.json"
+ },
+ "PATCH Private DNS Zone SRV Record Set": {
+ "$ref": "./examples/RecordSetSRVPatch.json"
+ },
+ "PATCH Private DNS Zone TXT Record Set": {
+ "$ref": "./examples/RecordSetTXTPatch.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "RecordSets"
+ ],
+ "operationId": "RecordSets_Delete",
+ "description": "Deletes a record set from a Private DNS zone. This operation cannot be undone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "recordType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The type of DNS record in this record set. Record sets of type SOA cannot be deleted (they are deleted when the Private DNS zone is deleted).",
+ "enum": [
+ "A",
+ "AAAA",
+ "CNAME",
+ "MX",
+ "PTR",
+ "SOA",
+ "SRV",
+ "TXT"
+ ],
+ "x-ms-enum": {
+ "name": "RecordType",
+ "modelAsString": false
+ }
+ },
+ {
+ "name": "relativeRecordSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the record set, relative to the name of the zone.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-client-name": "IfMatch",
+ "description": "The ETag of the record set. Omit this value to always delete the current record set. Specify the last-seen ETag value to prevent accidentally deleting any concurrent changes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The record set has been deleted."
+ },
+ "204": {
+ "description": "The record set was not found."
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DELETE Private DNS Zone A Record Set": {
+ "$ref": "./examples/RecordSetADelete.json"
+ },
+ "DELETE Private DNS Zone AAAA Record Set": {
+ "$ref": "./examples/RecordSetAAAADelete.json"
+ },
+ "DELETE Private DNS Zone CNAME Record Set": {
+ "$ref": "./examples/RecordSetCNAMEDelete.json"
+ },
+ "DELETE Private DNS Zone MX Record Set": {
+ "$ref": "./examples/RecordSetMXDelete.json"
+ },
+ "DELETE Private DNS Zone PTR Record Set": {
+ "$ref": "./examples/RecordSetPTRDelete.json"
+ },
+ "DELETE Private DNS Zone SRV Record Set": {
+ "$ref": "./examples/RecordSetSRVDelete.json"
+ },
+ "DELETE Private DNS Zone TXT Record Set": {
+ "$ref": "./examples/RecordSetTXTDelete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "RecordSets"
+ ],
+ "operationId": "RecordSets_Get",
+ "description": "Gets a record set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "recordType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The type of DNS record in this record set.",
+ "enum": [
+ "A",
+ "AAAA",
+ "CNAME",
+ "MX",
+ "PTR",
+ "SOA",
+ "SRV",
+ "TXT"
+ ],
+ "x-ms-enum": {
+ "name": "RecordType",
+ "modelAsString": false
+ }
+ },
+ {
+ "name": "relativeRecordSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the record set, relative to the name of the zone.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "schema": {
+ "$ref": "#/definitions/RecordSet"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GET Private DNS Zone A Record Set": {
+ "$ref": "./examples/RecordSetAGet.json"
+ },
+ "GET Private DNS Zone AAAA Record Set": {
+ "$ref": "./examples/RecordSetAAAAGet.json"
+ },
+ "GET Private DNS Zone CNAME Record Set": {
+ "$ref": "./examples/RecordSetCNAMEGet.json"
+ },
+ "GET Private DNS Zone MX Record Set": {
+ "$ref": "./examples/RecordSetMXGet.json"
+ },
+ "GET Private DNS Zone PTR Record Set": {
+ "$ref": "./examples/RecordSetPTRGet.json"
+ },
+ "GET Private DNS Zone SOA Record Set": {
+ "$ref": "./examples/RecordSetSOAGet.json"
+ },
+ "GET Private DNS Zone SRV Record Set": {
+ "$ref": "./examples/RecordSetSRVGet.json"
+ },
+ "GET Private DNS Zone TXT Record Set": {
+ "$ref": "./examples/RecordSetTXTGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/{recordType}": {
+ "get": {
+ "tags": [
+ "RecordSets"
+ ],
+ "operationId": "RecordSets_ListByType",
+ "description": "Lists the record sets of a specified type in a Private DNS zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "recordType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The type of record sets to enumerate.",
+ "enum": [
+ "A",
+ "AAAA",
+ "CNAME",
+ "MX",
+ "PTR",
+ "SOA",
+ "SRV",
+ "TXT"
+ ],
+ "x-ms-enum": {
+ "name": "RecordType",
+ "modelAsString": false
+ }
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of record sets to return. If not specified, returns up to 100 record sets."
+ },
+ {
+ "name": "$recordsetnamesuffix",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The suffix label of the record set name to be used to filter the record set enumeration. If this parameter is specified, the returned enumeration will only contain records that end with \".\"."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "schema": {
+ "$ref": "#/definitions/RecordSetListResult"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GET Private DNS Zone A Record Sets": {
+ "$ref": "./examples/RecordSetAList.json"
+ },
+ "GET Private DNS Zone AAAA Record Sets": {
+ "$ref": "./examples/RecordSetAAAAList.json"
+ },
+ "GET Private DNS Zone CNAME Record Sets": {
+ "$ref": "./examples/RecordSetCNAMEList.json"
+ },
+ "GET Private DNS Zone MX Record Sets": {
+ "$ref": "./examples/RecordSetMXList.json"
+ },
+ "GET Private DNS Zone PTR Record Sets": {
+ "$ref": "./examples/RecordSetPTRList.json"
+ },
+ "GET Private DNS Zone SOA Record Sets": {
+ "$ref": "./examples/RecordSetSOAList.json"
+ },
+ "GET Private DNS Zone SRV Record Sets": {
+ "$ref": "./examples/RecordSetSRVList.json"
+ },
+ "GET Private DNS Zone TXT Record Sets": {
+ "$ref": "./examples/RecordSetTXTList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/ALL": {
+ "get": {
+ "tags": [
+ "RecordSets"
+ ],
+ "operationId": "RecordSets_List",
+ "description": "Lists all record sets in a Private DNS zone.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "privateZoneName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Private DNS zone (without a terminating dot)."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of record sets to return. If not specified, returns up to 100 record sets."
+ },
+ {
+ "name": "$recordsetnamesuffix",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The suffix label of the record set name to be used to filter the record set enumeration. If this parameter is specified, the returned enumeration will only contain records that end with \".\"."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success.",
+ "schema": {
+ "$ref": "#/definitions/RecordSetListResult"
+ }
+ },
+ "default": {
+ "description": "Default response. It will be deserialized as per the Error definition.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GET Private DNS Zone ALL Record Sets": {
+ "$ref": "./examples/RecordSetALLList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateZoneProperties": {
+ "properties": {
+ "maxNumberOfRecordSets": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum number of record sets that can be created in this Private DNS zone. This is a read-only property and any attempt to set this value will be ignored.",
+ "readOnly": true
+ },
+ "numberOfRecordSets": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The current number of record sets in this Private DNS zone. This is a read-only property and any attempt to set this value will be ignored.",
+ "readOnly": true
+ },
+ "maxNumberOfVirtualNetworkLinks": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum number of virtual networks that can be linked to this Private DNS zone. This is a read-only property and any attempt to set this value will be ignored.",
+ "readOnly": true
+ },
+ "numberOfVirtualNetworkLinks": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The current number of virtual networks that are linked to this Private DNS zone. This is a read-only property and any attempt to set this value will be ignored.",
+ "readOnly": true
+ },
+ "maxNumberOfVirtualNetworkLinksWithRegistration": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum number of virtual networks that can be linked to this Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored.",
+ "readOnly": true
+ },
+ "numberOfVirtualNetworkLinksWithRegistration": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The current number of virtual networks that are linked to this Private DNS zone with registration enabled. This is a read-only property and any attempt to set this value will be ignored.",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "description": "The provisioning state of the resource. This is a read-only property and any attempt to set this value will be ignored.",
+ "readOnly": true
+ }
+ },
+ "description": "Represents the properties of the Private DNS zone."
+ },
+ "PrivateZone": {
+ "properties": {
+ "etag": {
+ "type": "string",
+ "description": "The ETag of the zone."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrivateZoneProperties",
+ "description": "Properties of the Private DNS zone."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Describes a Private DNS zone."
+ },
+ "PrivateZoneListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateZone"
+ },
+ "description": "Information about the Private DNS zones."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response to a Private DNS zone list operation."
+ },
+ "VirtualNetworkLinkProperties": {
+ "properties": {
+ "virtualNetwork": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The reference of the virtual network."
+ },
+ "registrationEnabled": {
+ "type": "boolean",
+ "description": "Is auto-registration of virtual machine records in the virtual network in the Private DNS zone enabled?"
+ },
+ "virtualNetworkLinkState": {
+ "type": "string",
+ "description": "The status of the virtual network link to the Private DNS zone. Possible values are 'InProgress' and 'Done'. This is a read-only property and any attempt to set this value will be ignored.",
+ "enum": [
+ "InProgress",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkLinkState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "description": "The provisioning state of the resource. This is a read-only property and any attempt to set this value will be ignored.",
+ "readOnly": true
+ }
+ },
+ "description": "Represents the properties of the Private DNS zone."
+ },
+ "VirtualNetworkLink": {
+ "properties": {
+ "etag": {
+ "type": "string",
+ "description": "The ETag of the virtual network link."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualNetworkLinkProperties",
+ "description": "Properties of the virtual network link to the Private DNS zone."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Describes a link to virtual network for a Private DNS zone."
+ },
+ "VirtualNetworkLinkListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkLink"
+ },
+ "description": "Information about the virtual network links to the Private DNS zones."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response to a list virtual network link to Private DNS zone operation."
+ },
+ "ARecord": {
+ "properties": {
+ "ipv4Address": {
+ "type": "string",
+ "description": "The IPv4 address of this A record."
+ }
+ },
+ "description": "An A record."
+ },
+ "AaaaRecord": {
+ "properties": {
+ "ipv6Address": {
+ "type": "string",
+ "description": "The IPv6 address of this AAAA record."
+ }
+ },
+ "description": "An AAAA record."
+ },
+ "CnameRecord": {
+ "properties": {
+ "cname": {
+ "type": "string",
+ "description": "The canonical name for this CNAME record."
+ }
+ },
+ "description": "A CNAME record."
+ },
+ "MxRecord": {
+ "properties": {
+ "preference": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The preference value for this MX record."
+ },
+ "exchange": {
+ "type": "string",
+ "description": "The domain name of the mail host for this MX record."
+ }
+ },
+ "description": "An MX record."
+ },
+ "PtrRecord": {
+ "properties": {
+ "ptrdname": {
+ "type": "string",
+ "description": "The PTR target domain name for this PTR record."
+ }
+ },
+ "description": "A PTR record."
+ },
+ "SoaRecord": {
+ "properties": {
+ "host": {
+ "type": "string",
+ "description": "The domain name of the authoritative name server for this SOA record."
+ },
+ "email": {
+ "type": "string",
+ "description": "The email contact for this SOA record."
+ },
+ "serialNumber": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The serial number for this SOA record."
+ },
+ "refreshTime": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The refresh value for this SOA record."
+ },
+ "retryTime": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The retry time for this SOA record."
+ },
+ "expireTime": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The expire time for this SOA record."
+ },
+ "minimumTtl": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum value for this SOA record. By convention this is used to determine the negative caching duration."
+ }
+ },
+ "description": "An SOA record."
+ },
+ "SrvRecord": {
+ "properties": {
+ "priority": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The priority value for this SRV record."
+ },
+ "weight": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The weight value for this SRV record."
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port value for this SRV record."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target domain name for this SRV record."
+ }
+ },
+ "description": "An SRV record."
+ },
+ "TxtRecord": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The text value of this TXT record."
+ }
+ },
+ "description": "A TXT record."
+ },
+ "RecordSetProperties": {
+ "properties": {
+ "metadata": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The metadata attached to the record set."
+ },
+ "ttl": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The TTL (time-to-live) of the records in the record set."
+ },
+ "fqdn": {
+ "type": "string",
+ "description": "Fully qualified domain name of the record set.",
+ "readOnly": true
+ },
+ "isAutoRegistered" : {
+ "type": "boolean",
+ "description": "Is the record set auto-registered in the Private DNS zone through a virtual network link?",
+ "readOnly": true
+ },
+ "aRecords": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ARecord"
+ },
+ "description": "The list of A records in the record set."
+ },
+ "aaaaRecords": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AaaaRecord"
+ },
+ "description": "The list of AAAA records in the record set."
+ },
+ "cnameRecord": {
+ "$ref": "#/definitions/CnameRecord",
+ "description": "The CNAME record in the record set."
+ },
+ "mxRecords": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MxRecord"
+ },
+ "description": "The list of MX records in the record set."
+ },
+ "ptrRecords": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PtrRecord"
+ },
+ "description": "The list of PTR records in the record set."
+ },
+ "soaRecord": {
+ "$ref": "#/definitions/SoaRecord",
+ "description": "The SOA record in the record set."
+ },
+ "srvRecords": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SrvRecord"
+ },
+ "description": "The list of SRV records in the record set."
+ },
+ "txtRecords": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TxtRecord"
+ },
+ "description": "The list of TXT records in the record set."
+ }
+ },
+ "description": "Represents the properties of the records in the record set."
+ },
+ "RecordSet": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the record set.",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the record set.",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the record set.",
+ "readOnly": true
+ },
+ "etag": {
+ "type": "string",
+ "description": "The ETag of the record set."
+ },
+ "properties": {
+ "$ref": "#/definitions/RecordSetProperties",
+ "x-ms-client-flatten": true,
+ "description": "The properties of the record set."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Describes a DNS record set (a collection of DNS records with the same name and type) in a Private DNS zone."
+ },
+ "RecordSetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecordSet"
+ },
+ "description": "Information about the record sets in the response."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response to a record set list operation."
+ },
+ "Resource": {
+ "description": "The core properties of ARM resources",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Fully qualified resource Id for the resource. Example - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateDnsZoneName}'."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the resource"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of the resource. Example - 'Microsoft.Network/privateDnsZones'."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The Azure Region where the resource lives"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for an ARM proxy resource.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "CloudError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error message body"
+ }
+ },
+ "x-ms-external": true,
+ "description": "An error message"
+ },
+ "CloudErrorBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "A description of what caused the error"
+ },
+ "target": {
+ "type": "string",
+ "description": "The target resource of the error message"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "Extra error information"
+ }
+ },
+ "x-ms-external": true,
+ "description": "The body of an error message"
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "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."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/privatedns/resource-manager/readme.go.md b/specification/privatedns/resource-manager/readme.go.md
new file mode 100644
index 000000000000..80d66ba2266a
--- /dev/null
+++ b/specification/privatedns/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: privatedns
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-09
+```
+
+### Tag: package-2018-09 and go
+
+These settings apply only when `--tag=package-2018-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2018-09' && $(go)
+output-folder: $(go-sdk-folder)/services/privatedns/mgmt/2018-09-01/privatedns
+```
diff --git a/specification/privatedns/resource-manager/readme.md b/specification/privatedns/resource-manager/readme.md
new file mode 100644
index 000000000000..3d4b17011c38
--- /dev/null
+++ b/specification/privatedns/resource-manager/readme.md
@@ -0,0 +1,135 @@
+# Private DNS
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Private DNS.
+
+---
+
+## Getting Started
+
+To build the SDK for Private DNS, 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 Private DNS API.
+
+``` yaml
+openapi-type: arm
+tag: package-2018-09
+```
+
+### Tag: package-2018-09
+
+These settings apply only when `--tag=package-2018-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-09'
+input-file:
+ - Microsoft.Network/stable/2018-09-01/privatedns.json
+```
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-ruby
+```
+
+## 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.PrivateDns
+ payload-flattening-threshold: 2
+ output-folder: $(csharp-sdks-folder)/PrivateDns/Management.PrivateDns/Generated
+ clear-output-folder: true
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.privatedns
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-privatedns
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2018-09
+```
+
+### Tag: package-2018-09 and java
+
+These settings apply only when `--tag=package-2018-09 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2018-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.privatedns.v2018_09_01
+ output-folder: $(azure-libraries-for-java-folder)/privatedns/resource-manager/v2018_09_01
+regenerate-manager: true
+generate-interface: true
+fconfig: '{"moduleName": "privatedns"}'
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - where: $.paths
+ from: privatedns.json
+ suppress: OperationsAPIImplementation
+ reason: Operation APIs for Microsoft.Network are to be defined in Network swagger.
+ - where: $.definitions.VirtualNetworkLinkProperties.properties.registrationEnabled
+ from: privatedns.json
+ suppress: EnumInsteadOfBoolean
+ reason: Booleans are used to indicate binary states of the property, enum is not appropriate.
+ - where: $.definitions.RecordSetProperties.properties.isAutoRegistered
+ from: privatedns.json
+ suppress: EnumInsteadOfBoolean
+ reason: Booleans are used to indicate binary states of the property, enum is not appropriate.
+ - where: $.definitions
+ from: privatedns.json
+ suppress: TrackedResourceListByImmediateParent
+ reason: Another list API naming approach is used over the specs.
+ - where: $.definitions.Resource
+ from: types.json
+ suppress: DescriptionAndTitleMissing
+ reason: Common types warning.
+```
diff --git a/specification/privatedns/resource-manager/readme.python.md b/specification/privatedns/resource-manager/readme.python.md
new file mode 100644
index 000000000000..a414a4816c05
--- /dev/null
+++ b/specification/privatedns/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.privatedns
+ package-name: azure-mgmt-privatedns
+ package-version: 1.0.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-privatedns/azure/mgmt/privatedns
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-privatedns
+```
diff --git a/specification/privatedns/resource-manager/readme.ruby.md b/specification/privatedns/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..88b668230fc5
--- /dev/null
+++ b/specification/privatedns/resource-manager/readme.ruby.md
@@ -0,0 +1,26 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+``` yaml
+package-name: azure_mgmt_privatedns
+package-version: "0.16.0"
+azure-arm: true
+```
+
+### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2018-09
+```
+
+### Tag: package-2018-09 and ruby
+
+These settings apply only when `--tag=package-2018-09 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-09' && $(ruby)
+namespace: "Azure::PrivateDns::Mgmt::V2018_09_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_privatedns/lib
+```
diff --git a/specification/privatedns/resource-manager/readme.typescript.md b/specification/privatedns/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..68e2cc9dc82d
--- /dev/null
+++ b/specification/privatedns/resource-manager/readme.typescript.md
@@ -0,0 +1,12 @@
+## Node.js
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-privatedns"
+ output-folder: "$(typescript-sdks-folder)/packages/@azure/arm-privatedns"
+ generate-metadata: true
+```
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 458e5bb952b9..543b6c97cda4 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
@@ -38,7 +38,6 @@
}
}
},
- "deprecated": false,
"x-ms-pageable": {
"nextLinkName": "nextLink",
"itemName": "value"
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
index 77db7348d5d7..5bd52620e350 100644
--- 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
@@ -50,7 +50,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Vault Security Config": {
"$ref": "./examples/Common/BackupResourceVaultConfigs_Get.json"
@@ -97,7 +96,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Update Vault Security Config": {
"$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json"
@@ -151,7 +149,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -216,7 +213,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSBackupEngineQueryObject",
"x-ms-examples": {
"Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": {
@@ -271,7 +267,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Azure Vm Discovery Operation Result": {
"$ref": "./examples/Common/RefreshContainers_OperationResults.json"
@@ -305,7 +300,6 @@
{
"name": "fabricName",
"in": "path",
- "description": "Fabric name associated with the container.",
"required": true,
"type": "string"
},
@@ -325,7 +319,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSContainerQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -383,7 +376,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Protection Container Details": {
"$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json"
@@ -394,7 +386,7 @@
"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\r\n the operation.",
+ "description": "Registers the container with Recovery Services vault.\r\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\r\nthe operation.",
"operationId": "ProtectionContainers_Register",
"produces": [
"application/json"
@@ -447,7 +439,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-examples": {
"RegisterAzure Storage ProtectionContainers": {
"$ref": "./examples/AzureStorage/ProtectionContainers_Register.json"
@@ -458,7 +449,7 @@
"tags": [
"ProtectionContainers"
],
- "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\n whether the backend service has finished processing the request, call Get Container Operation Result API.",
+ "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\nwhether the backend service has finished processing the request, call Get Container Operation Result API.",
"operationId": "ProtectionContainers_Unregister",
"produces": [
"application/json"
@@ -499,7 +490,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Unregister Protection Container": {
"$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json"
@@ -558,7 +548,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject",
"x-ms-examples": {
"Inquire Azure Storage Protection Containers": {
@@ -572,7 +561,7 @@
"tags": [
"BackupWorkloadItems"
],
- "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\n parameters.",
+ "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\nparameters.",
"operationId": "BackupWorkloadItems_List",
"produces": [
"application/json"
@@ -627,7 +616,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -698,7 +686,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Azure Storage Protection Container Operation Result": {
"$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json"
@@ -711,7 +698,7 @@
"tags": [
"ProtectedItems"
],
- "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\n call the GetItemOperationResult API.",
+ "description": "Provides the details of the backed up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.",
"operationId": "ProtectedItems_Get",
"produces": [
"application/json"
@@ -766,7 +753,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/GetProtectedItemQueryObject",
"x-ms-examples": {
"Get Protected Classic Virtual Machine Details": {
@@ -781,7 +767,7 @@
"tags": [
"ProtectedItems"
],
- "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\n asynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
+ "description": "Enables backup of an item or to modifies the backup policy information of an already backed up item. This is an\r\nasynchronous operation. To know the status of the operation, call the GetItemOperationResult API.",
"operationId": "ProtectedItems_CreateOrUpdate",
"produces": [
"application/json"
@@ -841,7 +827,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-examples": {
"Enable Protection on Azure IaasVm": {
"$ref": "./examples/AzureIaasVm/ConfigureProtection.json"
@@ -855,7 +840,7 @@
"tags": [
"ProtectedItems"
],
- "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\n request, call the GetItemOperationResult API.",
+ "description": "Used to disable backup of an item within a container. This is an asynchronous operation. To know the status of the\r\nrequest, call the GetItemOperationResult API.",
"operationId": "ProtectedItems_Delete",
"produces": [
"application/json"
@@ -903,7 +888,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Delete Protection from Azure Virtual Machine": {
"$ref": "./examples/Common/ProtectedItem_Delete.json"
@@ -916,7 +900,7 @@
"tags": [
"Backups"
],
- "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\n operation, call GetProtectedItemOperationResult API.",
+ "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.",
"operationId": "Backups_Trigger",
"produces": [
"application/json"
@@ -970,7 +954,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-examples": {
"Trigger Backup": {
"$ref": "./examples/Common/TriggerBackup_Post.json"
@@ -1044,7 +1027,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Operation Results of Protected Vm": {
"$ref": "./examples/AzureIaasVm/ProtectedItemOperationResults.json"
@@ -1057,7 +1039,7 @@
"tags": [
"ProtectedItemOperationStatuses"
],
- "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\n or failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\n create jobs. This method returns the list of jobs associated with the operation.",
+ "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.",
"operationId": "ProtectedItemOperationStatuses_Get",
"produces": [
"application/json"
@@ -1112,7 +1094,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Operation Status of Protected Vm": {
"$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json"
@@ -1180,7 +1161,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSRPQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -1197,7 +1177,7 @@
"tags": [
"RecoveryPoints"
],
- "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\n To know the status of the operation, call the GetProtectedItemOperationResult API.",
+ "description": "Provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous operation.\r\nTo know the status of the operation, call the GetProtectedItemOperationResult API.",
"operationId": "RecoveryPoints_Get",
"produces": [
"application/json"
@@ -1252,7 +1232,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Azure Vm Recovery Point Details": {
"$ref": "./examples/AzureIaasVm/RecoveryPoints_Get.json"
@@ -1265,7 +1244,7 @@
"tags": [
"ItemLevelRecoveryConnections"
],
- "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\n explorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\n provisioning, call GetProtectedItemOperationResult API.",
+ "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.",
"operationId": "ItemLevelRecoveryConnections_Provision",
"produces": [
"application/json"
@@ -1307,7 +1286,7 @@
{
"name": "recoveryPointId",
"in": "path",
- "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\n for this backed up data.",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.",
"required": true,
"type": "string"
},
@@ -1326,7 +1305,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-examples": {
"Provision Instant Item Level Recovery for Azure Vm": {
"$ref": "./examples/AzureIaasVm/Provision_Ilr.json"
@@ -1339,7 +1317,7 @@
"tags": [
"Restores"
],
- "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\n GetProtectedItemOperationResult API.",
+ "description": "Restores the specified backed up data. This is an asynchronous operation. To know the status of this API call, use\r\nGetProtectedItemOperationResult API.",
"operationId": "Restores_Trigger",
"produces": [
"application/json"
@@ -1400,7 +1378,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-examples": {
"Restore to New Azure IaasVm": {
"$ref": "./examples/AzureIaasVm/TriggerRestore_ALR.json"
@@ -1416,7 +1393,7 @@
"tags": [
"ItemLevelRecoveryConnections"
],
- "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\n displaying all recoverable files and folders. This is an asynchronous operation.",
+ "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.",
"operationId": "ItemLevelRecoveryConnections_Revoke",
"produces": [
"application/json"
@@ -1458,7 +1435,7 @@
{
"name": "recoveryPointId",
"in": "path",
- "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\n this backed up data.",
+ "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.",
"required": true,
"type": "string"
}
@@ -1468,7 +1445,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-examples": {
"Revoke Instant Item Level Recovery for Azure Vm": {
"$ref": "./examples/AzureIaasVm/Revoke_Ilr.json"
@@ -1481,7 +1457,7 @@
"tags": [
"ProtectionContainers"
],
- "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\n asynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.",
+ "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.",
"operationId": "ProtectionContainers_Refresh",
"produces": [
"application/json"
@@ -1519,7 +1495,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject",
"x-ms-examples": {
"Trigger Azure Vm Discovery": {
@@ -1533,7 +1508,7 @@
"tags": [
"JobCancellations"
],
- "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\n GetCancelOperationResult API.",
+ "description": "Cancels a job. This is an asynchronous operation. To know the status of the cancellation, call\r\nGetCancelOperationResult API.",
"operationId": "JobCancellations_Trigger",
"produces": [
"application/json"
@@ -1564,7 +1539,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-examples": {
"Cancel Job": {
"$ref": "./examples/Common/TriggerCancelJob.json"
@@ -1577,7 +1551,7 @@
"tags": [
"JobOperationResults"
],
- "description": "Fetches the result of any operation.\r\n the operation.",
+ "description": "Fetches the result of any operation.\r\nthe operation.",
"operationId": "JobOperationResults_Get",
"produces": [
"application/json"
@@ -1621,7 +1595,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Cancel Job Operation Result": {
"$ref": "./examples/Common/CancelJobOperationResult.json"
@@ -1634,7 +1607,7 @@
"tags": [
"BackupOperationResults"
],
- "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\n status code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\n successful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\n part of the Location header of the operation response.",
+ "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.",
"operationId": "BackupOperationResults_Get",
"produces": [
"application/json"
@@ -1671,7 +1644,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Result for Protected Item Delete Operation": {
"$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json"
@@ -1684,7 +1656,7 @@
"tags": [
"BackupOperationStatuses"
],
- "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\n or failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\n create jobs. This method returns the list of jobs when the operation is complete.",
+ "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs when the operation is complete.",
"operationId": "BackupOperationStatuses_Get",
"produces": [
"application/json"
@@ -1718,7 +1690,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Protected Item Delete Operation Status": {
"$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json"
@@ -1731,7 +1702,7 @@
"tags": [
"ProtectionPolicies"
],
- "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\n operation. Status of the operation can be fetched using GetPolicyOperationResult API.",
+ "description": "Provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous\r\noperation. Status of the operation can be fetched using GetPolicyOperationResult API.",
"operationId": "ProtectionPolicies_Get",
"produces": [
"application/json"
@@ -1765,7 +1736,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Azure IaasVm Protection Policy Details": {
"$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json"
@@ -1776,7 +1746,7 @@
"tags": [
"ProtectionPolicies"
],
- "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\n using GetPolicyOperationResult API.",
+ "description": "Creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can be fetched\r\nusing GetPolicyOperationResult API.",
"operationId": "ProtectionPolicies_CreateOrUpdate",
"produces": [
"application/json"
@@ -1822,7 +1792,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-examples": {
"Create or Update Simple Azure Vm Protection Policy": {
"$ref": "./examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json"
@@ -1839,7 +1808,7 @@
"tags": [
"ProtectionPolicies"
],
- "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\n operation can be fetched using GetPolicyOperationResult API.",
+ "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetPolicyOperationResult API.",
"operationId": "ProtectionPolicies_Delete",
"produces": [
"application/json"
@@ -1873,7 +1842,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Delete Azure Vm Protection Policy": {
"$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json"
@@ -1927,7 +1895,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Protection Policy Operation Results": {
"$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json"
@@ -1940,7 +1907,7 @@
"tags": [
"ProtectionPolicyOperationStatuses"
],
- "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\n or failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\n create jobs. This method returns the list of jobs associated with operation.",
+ "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with operation.",
"operationId": "ProtectionPolicyOperationStatuses_Get",
"produces": [
"application/json"
@@ -1981,7 +1948,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Protection Policy Operation Status": {
"$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json"
@@ -1994,7 +1960,7 @@
"tags": [
"BackupProtectableItems"
],
- "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\n pagination parameters.",
+ "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.",
"operationId": "BackupProtectableItems_List",
"produces": [
"application/json"
@@ -2035,7 +2001,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSPOQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -2086,7 +2051,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSContainerQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -2130,7 +2094,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Vault Security Pin": {
"$ref": "./examples/Common/BackupSecurityPin_Get.json"
@@ -2170,19 +2133,64 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Vault Storage Configuration": {
"$ref": "./examples/Common/BackupStorageConfig_Get.json"
}
}
},
- "patch": {
+ "put": {
"tags": [
"BackupResourceStorageConfigs"
],
"description": "Updates vault storage model type.",
"operationId": "BackupResourceStorageConfigs_Update",
+ "produces": [
+ "application/json"
+ ],
+ "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": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupResourceConfigResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Vault Storage Configuration": {
+ "$ref": "./examples/Common/BackupStorageConfig_Put.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BackupResourceStorageConfigs"
+ ],
+ "description": "Updates vault storage model type.",
+ "operationId": "BackupResourceStorageConfigs_Patch",
"parameters": [
{
"$ref": "#/parameters/ApiVersion"
@@ -2211,7 +2219,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Update Vault Storage Configuration": {
"$ref": "./examples/Common/BackupStorageConfig_Patch.json"
@@ -2226,47 +2233,9 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProtectionContainer"
+ "$ref": "#/definitions/DpmContainer"
}
],
- "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": {
@@ -2437,7 +2406,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -2482,7 +2452,8 @@
"description": "Contains Url to the snapshot of fileshare, if applicable",
"type": "string"
}
- }
+ },
+ "x-ms-discriminator-value": "AzureFileShareRecoveryPoint"
},
"AzureFileShareRestoreRequest": {
"description": "AzureFileShare Restore Request",
@@ -2948,7 +2919,8 @@
"description": "For instance or AG, indicates number of DBs to be protected",
"type": "integer"
}
- }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadItem"
},
"AzureVmWorkloadProtectableItem": {
"description": "Azure VM workload-specific protectable item.",
@@ -2964,7 +2936,7 @@
"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.",
+ "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\r\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG.",
"type": "string"
},
"serverName": {
@@ -2993,7 +2965,8 @@
"$ref": "#/definitions/PreBackupValidation",
"description": "Pre-backup validation for protectable objects"
}
- }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem"
},
"AzureVmWorkloadProtectedItem": {
"description": "Azure VM workload-specific protected item.",
@@ -3086,7 +3059,8 @@
"$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo",
"description": "Additional information for this backup item."
}
- }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem"
},
"AzureVmWorkloadProtectedItemExtendedInfo": {
"description": "Additional information on Azure Workload for SQL specific backup item.",
@@ -3133,7 +3107,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -3155,8 +3130,58 @@
},
"x-ms-discriminator-value": "AzureWorkload"
},
+ "AzureVmWorkloadSAPAseDatabaseProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SAP ASE Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseDatabase"
+ },
+ "AzureVmWorkloadSAPAseDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SAP ASE Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase"
+ },
+ "AzureVmWorkloadSAPAseDatabaseWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP ASE Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseDatabase"
+ },
+ "AzureVmWorkloadSAPAseSystemProtectableItem": {
+ "description": "Azure VM workload-specific protectable item representing SAP ASE System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectableItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseSystem"
+ },
+ "AzureVmWorkloadSAPAseSystemWorkloadItem": {
+ "description": "Azure VM workload-specific workload item representing SAP ASE System.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadItem"
+ }
+ ],
+ "x-ms-discriminator-value": "SAPAseSystem"
+ },
"AzureVmWorkloadSAPHanaDatabaseProtectableItem": {
- "description": "Azure VM workload-specific protectable item representing SAP Hana Database.",
+ "description": "Azure VM workload-specific protectable item representing SAP HANA Database.",
"type": "object",
"allOf": [
{
@@ -3166,7 +3191,7 @@
"x-ms-discriminator-value": "SAPHanaDatabase"
},
"AzureVmWorkloadSAPHanaDatabaseProtectedItem": {
- "description": "Azure VM workload-specific protected item representing SAP Hana Database.",
+ "description": "Azure VM workload-specific protected item representing SAP HANA Database.",
"type": "object",
"allOf": [
{
@@ -3176,7 +3201,7 @@
"x-ms-discriminator-value": "AzureVmWorkloadSAPHanaDatabase"
},
"AzureVmWorkloadSAPHanaDatabaseWorkloadItem": {
- "description": "Azure VM workload-specific workload item representing SAP Hana Database.",
+ "description": "Azure VM workload-specific workload item representing SAP HANA Database.",
"type": "object",
"allOf": [
{
@@ -3186,7 +3211,7 @@
"x-ms-discriminator-value": "SAPHanaDatabase"
},
"AzureVmWorkloadSAPHanaSystemProtectableItem": {
- "description": "Azure VM workload-specific protectable item representing SAP Hana System.",
+ "description": "Azure VM workload-specific protectable item representing SAP HANA System.",
"type": "object",
"allOf": [
{
@@ -3196,7 +3221,7 @@
"x-ms-discriminator-value": "SAPHanaSystem"
},
"AzureVmWorkloadSAPHanaSystemWorkloadItem": {
- "description": "Azure VM workload-specific workload item representing SAP Hana System.",
+ "description": "Azure VM workload-specific workload item representing SAP HANA System.",
"type": "object",
"allOf": [
{
@@ -3230,93 +3255,9 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProtectedItem"
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
}
],
- "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": {
@@ -3432,16 +3373,30 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
"name": "WorkloadType",
"modelAsString": true
}
+ },
+ "operationType": {
+ "description": "Re-Do Operation",
+ "enum": [
+ "Invalid",
+ "Register",
+ "Reregister"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OperationType",
+ "modelAsString": true
+ }
}
},
- "x-ms-discriminator-value": "AzureWorkloadBackupRequest"
+ "x-ms-discriminator-value": "AzureWorkloadContainer"
},
"AzureWorkloadContainerExtendedInfo": {
"description": "Extended information of the container.",
@@ -3464,6 +3419,42 @@
}
}
},
+ "AzureWorkloadPointInTimeRecoveryPoint": {
+ "description": "Recovery point specific to PointInTime",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
+ }
+ ],
+ "properties": {
+ "timeRanges": {
+ "description": "List of log ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PointInTimeRange"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint"
+ },
+ "AzureWorkloadPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest"
+ },
"AzureWorkloadRecoveryPoint": {
"description": "Workload specific recovery point, specifically encapsulates full/diff recovery point",
"type": "object",
@@ -3528,6 +3519,10 @@
"additionalProperties": {
"type": "string"
}
+ },
+ "targetInfo": {
+ "$ref": "#/definitions/TargetRestoreInfo",
+ "description": "Details of target database"
}
},
"x-ms-discriminator-value": "AzureWorkloadRestoreRequest"
@@ -3537,18 +3532,9 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/AzureWorkloadSAPHanaRecoveryPoint"
+ "$ref": "#/definitions/AzureWorkloadPointInTimeRecoveryPoint"
}
],
- "properties": {
- "timeRanges": {
- "description": "List of log ranges",
- "type": "array",
- "items": {
- "$ref": "#/definitions/PointInTimeRange"
- }
- }
- },
"x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRecoveryPoint"
},
"AzureWorkloadSAPHanaPointInTimeRestoreRequest": {
@@ -3573,30 +3559,9 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/RecoveryPoint"
+ "$ref": "#/definitions/AzureWorkloadRecoveryPoint"
}
],
- "properties": {
- "recoveryPointTimeInUTC": {
- "format": "date-time",
- "description": "UTC time at which recovery point 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": "AzureWorkloadSAPHanaRecoveryPoint"
},
"AzureWorkloadSAPHanaRestoreRequest": {
@@ -3604,40 +3569,9 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/RestoreRequest"
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
}
],
- "properties": {
- "targetInfo": {
- "$ref": "#/definitions/TargetRestoreInfo",
- "description": "Details of target database"
- },
- "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": "AzureWorkloadSAPHanaRestoreRequest"
},
"AzureWorkloadSQLPointInTimeRecoveryPoint": {
@@ -3687,7 +3621,7 @@
"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"
+ "description": "Extended Info that provides data directory details. Will be populated in two cases:\r\nWhen a specific recovery point is accessed using GetRecoveryPoint\r\nOr when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter"
}
},
"x-ms-discriminator-value": "AzureWorkloadSQLRecoveryPoint"
@@ -3727,10 +3661,6 @@
"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",
@@ -4229,7 +4159,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -4278,7 +4209,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -4391,7 +4323,9 @@
"SQLInstance",
"SQLDataBase",
"SAPHanaSystem",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseSystem",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -4415,7 +4349,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -4461,7 +4396,7 @@
"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.",
+ "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.",
"type": "string"
}
}
@@ -4543,7 +4478,7 @@
"type": "string"
},
"status": {
- "description": "Status of this Node.\r\n Failed | Succeeded",
+ "description": "Status of this Node.\r\nFailed | Succeeded",
"type": "string"
},
"errorDetail": {
@@ -5024,7 +4959,8 @@
"description": "Fully qualified ARM ID of the virtual machine.",
"type": "string"
}
- }
+ },
+ "x-ms-discriminator-value": "IaaSVMProtectableItem"
},
"IaasVMRecoveryPoint": {
"description": "IaaS VM workload specific backup copy.",
@@ -5122,11 +5058,11 @@
"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}",
+ "description": "This is the complete ARM Id of the VM that will be created.\r\nFor 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}",
+ "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}",
"type": "string"
},
"storageAccountId": {
@@ -5134,15 +5070,15 @@
"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.",
+ "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser 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\r\n {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\n the subnet.",
+ "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe 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\r\n Virtual Machines.",
+ "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.",
"type": "string"
},
"region": {
@@ -5154,7 +5090,7 @@
"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\r\n cloud service as it was at the time of backup.",
+ "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.",
"type": "boolean"
},
"originalStorageAccountOption": {
@@ -5201,7 +5137,7 @@
"type": "object",
"properties": {
"status": {
- "description": "Inquiry Status for this container such as\r\n InProgress | Failed | Succeeded",
+ "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded",
"type": "string"
},
"errorDetail": {
@@ -5209,7 +5145,7 @@
"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.",
+ "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details.",
"type": "array",
"items": {
"$ref": "#/definitions/WorkloadInquiryDetails"
@@ -5263,7 +5199,7 @@
}
},
"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 following details :\r\n 1. Secret(BEK) - Url + Backup Data + vaultId.\r\n 2. Key(KEK) - Url + Backup Data + vaultId.\r\n 3. EncryptionMechanism\r\n BEK and KEK can potentially have different vault ids.",
+ "description": "BEK is bitlocker key.\r\nKEK is encryption key for BEK\r\nIf the VM was encrypted then we will store following details :\r\n1. Secret(BEK) - Url + Backup Data + vaultId.\r\n2. Key(KEK) - Url + Backup Data + vaultId.\r\n3. EncryptionMechanism\r\nBEK and KEK can potentially have different vault ids.",
"type": "object",
"properties": {
"kekDetails": {
@@ -5332,7 +5268,8 @@
{
"$ref": "#/definitions/SchedulePolicy"
}
- ]
+ ],
+ "x-ms-discriminator-value": "LongTermSchedulePolicy"
},
"MabContainer": {
"description": "Container with items backed up using MAB backup engine.",
@@ -5404,7 +5341,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -5576,10 +5514,6 @@
}
}
},
- "Object": {
- "description": "Base of all objects.",
- "type": "object"
- },
"OperationStatus": {
"description": "Operation status.",
"type": "object",
@@ -5784,7 +5718,7 @@
}
},
"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",
+ "description": "Type of the container. The value of this property for\r\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines",
"enum": [
"Invalid",
"Unknown",
@@ -5895,7 +5829,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -5990,7 +5925,7 @@
"type": "string"
},
"containerType": {
- "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\n Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\n Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\n Backup is VMAppContainer",
+ "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\nBackup is VMAppContainer",
"enum": [
"Invalid",
"Unknown",
@@ -6260,7 +6195,7 @@
"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.",
+ "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
"type": "integer"
},
"durationType": {
@@ -6321,7 +6256,7 @@
"type": "boolean"
},
"isCompression": {
- "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\n will be deprecated once clients upgrade to consider this flag.",
+ "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.",
"type": "boolean"
}
}
@@ -6868,16 +6803,16 @@
"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"
+ "type": "string",
+ "x-ms-parameter-location": "method"
},
"VaultName": {
"name": "vaultName",
"in": "path",
"description": "The name of the recovery services vault.",
"required": true,
- "x-ms-parameter-location": "method",
- "type": "string"
+ "type": "string",
+ "x-ms-parameter-location": "method"
},
"ApiVersion": {
"name": "api-version",
diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json
new file mode 100644
index 000000000000..7adaa9e34cfb
--- /dev/null
+++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2016-12-01/examples/Common/BackupStorageConfig_Put.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "PythonSDKBackupTestRg",
+ "vaultName": "PySDKBackupTestRsVault",
+ "api-version": "2016-12-01",
+ "parameters": {
+ "properties": {
+ "storageType": "LocallyRedundant",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ },
+ "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": "LocallyRedundant",
+ "storageType": "LocallyRedundant",
+ "dedupState": "Disabled",
+ "xcoolState": "Disabled",
+ "storageTypeState": "Unlocked"
+ }
+ }
+ }
+ }
+}
\ 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
index 05b64e835732..913497bcd5de 100644
--- 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
@@ -23,7 +23,7 @@
"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.",
+ "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.",
"operationId": "ProtectionIntent_Validate",
"produces": [
"application/json"
@@ -56,7 +56,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Validate Enable Protection on Azure Vm": {
"$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json"
@@ -102,7 +101,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Azure Virtual Machine Backup Status": {
"$ref": "./examples/AzureIaasVm/GetBackupStatus.json"
@@ -148,7 +146,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Check Azure Vm Backup Feature Support": {
"$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json"
@@ -161,7 +158,7 @@
"tags": [
"ProtectionIntent"
],
- "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\n call the GetItemOperationResult API.",
+ "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.",
"operationId": "ProtectionIntent_Get",
"produces": [
"application/json"
@@ -202,7 +199,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get ProtectionIntent for an item": {
"$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json"
@@ -263,7 +259,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Create or Update Azure Vm Protection Intent": {
"$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json"
@@ -312,7 +307,6 @@
"description": "NoContent"
}
},
- "deprecated": false,
"x-ms-examples": {
"Delete Protection intent from item": {
"$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json"
@@ -366,7 +360,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/JobQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -423,7 +416,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Get Job Details": {
"$ref": "./examples/Common/GetJobDetails.json"
@@ -436,7 +428,7 @@
"tags": [
"ExportJobsOperationResults"
],
- "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\n contains URL of a Blob and a SAS key to access the same. The blob contains exported jobs in JSON serialized format.",
+ "description": "Gets the operation result of operation triggered by Export Jobs API. If the operation is successful, then it also\r\ncontains 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"
@@ -476,7 +468,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Export Jobs Operation Results": {
"$ref": "./examples/Common/ExportJobsOperationResult.json"
@@ -520,7 +511,6 @@
"description": "Accepted"
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/JobQueryObject",
"x-ms-examples": {
"Export Jobs": {
@@ -534,7 +524,7 @@
"tags": [
"BackupPolicies"
],
- "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\n scoped results.",
+ "description": "Lists of backup policies associated with Recovery Services Vault. API provides pagination parameters to fetch\r\nscoped results.",
"operationId": "BackupPolicies_List",
"produces": [
"application/json"
@@ -568,7 +558,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/ProtectionPolicyQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -629,7 +618,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/ProtectedItemQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -687,7 +675,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/ProtectionIntentQueryObject",
"x-ms-pageable": {
"nextLinkName": "nextLink"
@@ -745,7 +732,6 @@
}
}
},
- "deprecated": false,
"x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject",
"x-ms-pageable": {
"nextLinkName": null
@@ -801,7 +787,6 @@
}
}
},
- "deprecated": false,
"x-ms-examples": {
"Validate Operation": {
"$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json"
@@ -929,7 +914,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -1218,7 +1204,7 @@
"type": "number"
},
"taskExecutionDetails": {
- "description": "Details about execution of the task.\r\n eg: number of bytes transferred etc",
+ "description": "Details about execution of the task.\r\neg: number of bytes transferred etc",
"type": "string"
}
}
@@ -1519,7 +1505,8 @@
"$ref": "#/definitions/AzureStorageJobExtendedInfo",
"description": "Additional information about the job."
}
- }
+ },
+ "x-ms-discriminator-value": "AzureStorageJob"
},
"AzureStorageJobExtendedInfo": {
"description": "Azure Storage workload-specific additional information for job.",
@@ -1691,7 +1678,8 @@
"$ref": "#/definitions/AzureVmWorkloadProtectedItemExtendedInfo",
"description": "Additional information for this backup item."
}
- }
+ },
+ "x-ms-discriminator-value": "AzureVmWorkloadProtectedItem"
},
"AzureVmWorkloadProtectedItemExtendedInfo": {
"description": "Additional information on Azure Workload for SQL specific backup item.",
@@ -1738,7 +1726,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -1760,8 +1749,18 @@
},
"x-ms-discriminator-value": "AzureWorkload"
},
+ "AzureVmWorkloadSAPAseDatabaseProtectedItem": {
+ "description": "Azure VM workload-specific protected item representing SAP ASE Database.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
+ }
+ ],
+ "x-ms-discriminator-value": "AzureVmWorkloadSAPAseDatabase"
+ },
"AzureVmWorkloadSAPHanaDatabaseProtectedItem": {
- "description": "Azure VM workload-specific protected item representing SAP Hana Database.",
+ "description": "Azure VM workload-specific protected item representing SAP HANA Database.",
"type": "object",
"allOf": [
{
@@ -1775,93 +1774,9 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProtectedItem"
+ "$ref": "#/definitions/AzureVmWorkloadProtectedItem"
}
],
- "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"
},
"AzureWorkloadAutoProtectionIntent": {
@@ -1949,7 +1864,8 @@
"$ref": "#/definitions/AzureWorkloadJobExtendedInfo",
"description": "Additional information about the job."
}
- }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadJob"
},
"AzureWorkloadJobExtendedInfo": {
"description": "Azure VM workload-specific additional information for job.",
@@ -1989,6 +1905,23 @@
}
}
},
+ "AzureWorkloadPointInTimeRestoreRequest": {
+ "description": "AzureWorkload SAP Hana -specific restore. Specifically for PointInTime/Log restore",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
+ }
+ ],
+ "properties": {
+ "pointInTime": {
+ "format": "date-time",
+ "description": "PointInTime value",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureWorkloadPointInTimeRestoreRequest"
+ },
"AzureWorkloadRestoreRequest": {
"description": "AzureWorkload-specific restore.",
"type": "object",
@@ -2022,6 +1955,10 @@
"additionalProperties": {
"type": "string"
}
+ },
+ "targetInfo": {
+ "$ref": "#/definitions/TargetRestoreInfo",
+ "description": "Details of target database"
}
},
"x-ms-discriminator-value": "AzureWorkloadRestoreRequest"
@@ -2048,40 +1985,9 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/RestoreRequest"
+ "$ref": "#/definitions/AzureWorkloadRestoreRequest"
}
],
- "properties": {
- "targetInfo": {
- "$ref": "#/definitions/TargetRestoreInfo",
- "description": "Details of target database"
- },
- "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": "AzureWorkloadSAPHanaRestoreRequest"
},
"AzureWorkloadSQLAutoProtectionIntent": {
@@ -2100,7 +2006,9 @@
"SQLInstance",
"SQLDataBase",
"SAPHanaSystem",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseSystem",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -2145,10 +2053,6 @@
"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",
@@ -2237,7 +2141,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -2274,6 +2179,10 @@
"modelAsString": true
}
},
+ "vaultId": {
+ "description": "Specifies the arm resource id of the vault",
+ "type": "string"
+ },
"fabricName": {
"description": "Specifies the fabric name - Azure or AD",
"enum": [
@@ -2811,11 +2720,11 @@
"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}",
+ "description": "This is the complete ARM Id of the VM that will be created.\r\nFor 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}",
+ "description": "This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts.\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}",
"type": "string"
},
"storageAccountId": {
@@ -2823,15 +2732,15 @@
"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.",
+ "description": "This is the virtual network Id of the vnet that will be attached to the virtual machine.\r\nUser 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\r\n {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\n the subnet.",
+ "description": "Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be\r\n{VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent\r\nthe 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\r\n Virtual Machines.",
+ "description": "Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic\r\nVirtual Machines.",
"type": "string"
},
"region": {
@@ -2843,7 +2752,7 @@
"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\r\n cloud service as it was at the time of backup.",
+ "description": "Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same\r\ncloud service as it was at the time of backup.",
"type": "boolean"
},
"originalStorageAccountOption": {
@@ -3074,7 +2983,8 @@
{
"$ref": "#/definitions/SchedulePolicy"
}
- ]
+ ],
+ "x-ms-discriminator-value": "LongTermSchedulePolicy"
},
"MabErrorInfo": {
"description": "MAB workload-specific error information.",
@@ -3230,7 +3140,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -3378,10 +3289,6 @@
}
}
},
- "Object": {
- "description": "Base of all objects.",
- "type": "object"
- },
"OperationResultInfo": {
"description": "Operation result info.",
"type": "object",
@@ -3503,7 +3410,7 @@
}
},
"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.",
+ "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.",
"type": "object",
"properties": {
"resourceType": {
@@ -3522,7 +3429,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -3534,6 +3442,10 @@
"description": "ARM Virtual Machine Id",
"type": "string"
},
+ "vaultId": {
+ "description": "Specifies the arm resource id of the vault",
+ "type": "string"
+ },
"properties": {
"description": "Configuration of VM if any needs to be validated like OS type etc",
"type": "string"
@@ -3570,7 +3482,7 @@
"type": "string"
},
"containerName": {
- "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\n for portal",
+ "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal",
"type": "string"
},
"protectedItemName": {
@@ -3622,7 +3534,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -3720,7 +3633,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -3983,7 +3897,8 @@
"GenericDataSource",
"SQLDataBase",
"AzureFileShare",
- "SAPHanaDatabase"
+ "SAPHanaDatabase",
+ "SAPAseDatabase"
],
"type": "string",
"x-ms-enum": {
@@ -4110,7 +4025,7 @@
"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.",
+ "description": "Count of duration types. Retention duration is obtained by the counting the duration type Count times.\r\nFor example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks.",
"type": "integer"
},
"durationType": {
@@ -4171,7 +4086,7 @@
"type": "boolean"
},
"isCompression": {
- "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\n will be deprecated once clients upgrade to consider this flag.",
+ "description": "Workload compression flag. This has been added so that 'isSqlCompression'\r\nwill be deprecated once clients upgrade to consider this flag.",
"type": "boolean"
}
}
@@ -4574,8 +4489,8 @@
"in": "path",
"description": "Azure region to hit Api",
"required": true,
- "x-ms-parameter-location": "method",
- "type": "string"
+ "type": "string",
+ "x-ms-parameter-location": "method"
},
"ApiVersion": {
"name": "api-version",
@@ -4589,16 +4504,16 @@
"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"
+ "type": "string",
+ "x-ms-parameter-location": "method"
},
"VaultName": {
"name": "vaultName",
"in": "path",
"description": "The name of the recovery services vault.",
"required": true,
- "x-ms-parameter-location": "method",
- "type": "string"
+ "type": "string",
+ "x-ms-parameter-location": "method"
}
},
"securityDefinitions": {
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/MigrationRecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/MigrationRecoveryPoints_Get.json
new file mode 100644
index 000000000000..a5d4700c2a7c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/MigrationRecoveryPoints_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "migrationRecoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints",
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/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-07-10/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json
new file mode 100644
index 000000000000..755e9e3bc680
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "648336ef-2d70-4d98-b100-8c299f97cd41",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints",
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/648336ef-2d70-4d98-b100-8c299f97cd41",
+ "properties": {
+ "recoveryPointTime": "2017-04-26T06:37:50.8082715Z",
+ "recoveryPointType": "CrashConsistent"
+ }
+ },
+ {
+ "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints",
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/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-07-10/examples/Operations_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/Operations_List.json
new file mode 100644
index 000000000000..aad8e809c0b1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/Operations_List.json
@@ -0,0 +1,1225 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/RecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/RecoveryPoints_Get.json
new file mode 100644
index 000000000000..599d51dbbba3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/RecoveryPoints_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json
new file mode 100644
index 000000000000..b0675cea8af9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/RecoveryPoints_ListByReplicationProtectedItems.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationAlertSettings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationAlertSettings_Create.json
new file mode 100644
index 000000000000..37254253abf3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationAlertSettings_Create.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "alertSettingName": "defaultAlertSetting",
+ "api-version": "2018-07-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-07-10/examples/ReplicationAlertSettings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationAlertSettings_Get.json
new file mode 100644
index 000000000000..f25559550898
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationAlertSettings_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "alertSettingName": "defaultAlertSetting",
+ "api-version": "2018-07-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-07-10/examples/ReplicationAlertSettings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationAlertSettings_List.json
new file mode 100644
index 000000000000..0fddc0b046a8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationAlertSettings_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationEvents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationEvents_Get.json
new file mode 100644
index 000000000000..4f7b49d55c97
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationEvents_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "eventName": "654b71d0-b2ce-4e6e-a861-98528d4bd375",
+ "api-version": "2018-07-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-07-10/examples/ReplicationEvents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationEvents_List.json
new file mode 100644
index 000000000000..cc17af2954c4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationEvents_List.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationFabrics_CheckConsistency.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_CheckConsistency.json
new file mode 100644
index 000000000000..7728759a80b1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_CheckConsistency.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationFabrics_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_Create.json
new file mode 100644
index 000000000000..b453520e9a29
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_Create.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationFabrics_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_Delete.json
new file mode 100644
index 000000000000..026920e0ece9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationFabrics_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_Get.json
new file mode 100644
index 000000000000..63f26d63f835
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationFabrics_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_List.json
new file mode 100644
index 000000000000..5bf1902b7cee
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationFabrics_MigrateToAad.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_MigrateToAad.json
new file mode 100644
index 000000000000..026920e0ece9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_MigrateToAad.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationFabrics_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_Purge.json
new file mode 100644
index 000000000000..026920e0ece9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_Purge.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationFabrics_ReassociateGateway.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_ReassociateGateway.json
new file mode 100644
index 000000000000..0ac3dbea642a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_ReassociateGateway.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "fabricName": "GRACE-V2A-1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationFabrics_RenewCertificate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_RenewCertificate.json
new file mode 100644
index 000000000000..89c9da9c0746
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationFabrics_RenewCertificate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationJobs_Cancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Cancel.json
new file mode 100644
index 000000000000..1e099ec8b49c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Cancel.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationJobs_Export.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Export.json
new file mode 100644
index 000000000000..31cbd4e32853
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Export.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationJobs_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Get.json
new file mode 100644
index 000000000000..ac5dca820237
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Get.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationJobs_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_List.json
new file mode 100644
index 000000000000..3df5d9c91831
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_List.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationJobs_Restart.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Restart.json
new file mode 100644
index 000000000000..41f37765e1ba
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Restart.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationJobs_Resume.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Resume.json
new file mode 100644
index 000000000000..7f14ca411566
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationJobs_Resume.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationLogicalNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationLogicalNetworks_Get.json
new file mode 100644
index 000000000000..81bacd937402
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationLogicalNetworks_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "logicalNetworkName": "87ab394f-165f-4aa9-bd84-b018500b4509",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..5d6d4668dff7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationMigrationItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Create.json
new file mode 100644
index 000000000000..b673466c828b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Create.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "input": {
+ "properties": {
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ },
+ "recoveryServicesProviderId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/45b55118-f42d-505f-8bde-f3745258171f"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Delete.json
new file mode 100644
index 000000000000..ff93cbe60018
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "202": {
+ },
+ "204": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Get.json
new file mode 100644
index 000000000000..4ad1af16a491
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Get.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ },
+ "recoveryServicesProviderId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/45b55118-f42d-505f-8bde-f3745258171f"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_List.json
new file mode 100644
index 000000000000..cc9562628c77
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_List.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ },
+ "recoveryServicesProviderId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/45b55118-f42d-505f-8bde-f3745258171f"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..7c3de46249e9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ },
+ "recoveryServicesProviderId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/45b55118-f42d-505f-8bde-f3745258171f"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Migrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Migrate.json
new file mode 100644
index 000000000000..293173c37eed
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Migrate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "migrateInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ },
+ "recoveryServicesProviderId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/45b55118-f42d-505f-8bde-f3745258171f"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrate.json
new file mode 100644
index 000000000000..9a4f14c1f133
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "testMigrateInput": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ },
+ "recoveryServicesProviderId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/45b55118-f42d-505f-8bde-f3745258171f"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrateCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrateCleanup.json
new file mode 100644
index 000000000000..26806c66d541
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_TestMigrateCleanup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "testMigrateCleanupInput": {
+ "properties": {
+ "comments": "Test Failover Cleanup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ },
+ "recoveryServicesProviderId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/45b55118-f42d-505f-8bde-f3745258171f"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Update.json
new file mode 100644
index 000000000000..00c34121dba5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationMigrationItems_Update.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "migrationItemName": "virtualmachine1",
+ "protectionContainerName": "vmwareContainer1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "input": {
+ "properties": {
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1",
+ "name": "virtualmachine1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems",
+ "properties": {
+ "machineName": "vm-0520-2",
+ "migrationState": "Replicating",
+ "migrationStateDescription": "Ready to migrate",
+ "testMigrateState": "None",
+ "testMigrateStateDescription": "None",
+ "policyFriendlyName": "vmwarepolicy1",
+ "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1",
+ "allowedOperations": [
+ "Migrate",
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup"
+ ],
+ "currentJob": {
+ "jobName": "None",
+ "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None",
+ "startTime": "2017-04-26T06:37:50.8082715Z"
+ },
+ "providerSpecificDetails": {
+ "instanceType": "VMwareCbt"
+ },
+ "recoveryServicesProviderId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/45b55118-f42d-505f-8bde-f3745258171f"
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_Create.json
new file mode 100644
index 000000000000..b8cd3345f3f1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_Create.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-07-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-07-10/examples/ReplicationNetworkMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_Delete.json
new file mode 100644
index 000000000000..14eb06ec03a1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-07-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-07-10/examples/ReplicationNetworkMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_Get.json
new file mode 100644
index 000000000000..b0d270dbe543
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-07-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-07-10/examples/ReplicationNetworkMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_List.json
new file mode 100644
index 000000000000..049cb1b98601
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
new file mode 100644
index 000000000000..3143d89f1e2a
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06",
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-07-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-07-10/examples/ReplicationNetworkMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_Update.json
new file mode 100644
index 000000000000..8ba2fa67741b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworkMappings_Update.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-07-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-07-10/examples/ReplicationNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworks_Get.json
new file mode 100644
index 000000000000..1027fe6dfee3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworks_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-07-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-07-10/examples/ReplicationNetworks_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworks_List.json
new file mode 100644
index 000000000000..402cdad289ca
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworks_List.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworks_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..a28d9ed79607
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationNetworks_ListByReplicationFabrics.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac",
+ "api-version": "2018-07-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-07-10/examples/ReplicationPolicies_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_Create.json
new file mode 100644
index 000000000000..e25e14f8d103
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_Create.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationPolicies_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_Delete.json
new file mode 100644
index 000000000000..3d5fd793f1e0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationPolicies_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_Get.json
new file mode 100644
index 000000000000..a60dfbadf783
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationPolicies_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_List.json
new file mode 100644
index 000000000000..df9888ec4309
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_List.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationPolicies_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_Update.json
new file mode 100644
index 000000000000..d2897cb85a20
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationPolicies_Update.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "policyName": "protectionprofile1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectableItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectableItems_Get.json
new file mode 100644
index 000000000000..19c8c0d42013
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectableItems_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..d09d415874fe
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10&%24skipToken=ReplicationGroup%3aBegin"
+ }
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_AddDisks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_AddDisks.json
new file mode 100644
index 000000000000..2cd6c54b2f37
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_AddDisks.json
@@ -0,0 +1,76 @@
+{
+ "parameters":{
+ "api-version":"2018-07-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",
+ "addDisksInput":{
+ "properties":{
+ "providerSpecificDetails": {
+ "instanceType":"A2A",
+ "vmDisks": [
+ {
+ "diskUri" : "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd",
+ "recoveryAureStorageAccountId" : "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/recoveryResource/providers/Microsoft.Storage/storageAccounts/recoverystorage",
+ "primaryStagingAzureStorageAccountId" : "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourcegroups/primaryResource/providers/Microsoft.Storage/storageAccounts/vmcachestorage"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "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":"f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectedItemType":"",
+ "protectableItemId":null,
+ "recoveryServicesProviderId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf",
+ "primaryFabricFriendlyName":"cloud1",
+ "primaryFabricProvider":"AzureFabric",
+ "recoveryFabricFriendlyName":"cloud2",
+ "recoveryFabricId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "primaryProtectionContainerFriendlyName":"cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "recoveryProtectionContainerFriendlyName":"cloud_81224fc6-f326-5d35-96de-fbf51efb3188",
+ "protectionState":"Protected",
+ "protectionStateDescription":"Protected",
+ "activeLocation":"Primary",
+ "testFailoverState":"None",
+ "testFailoverStateDescription":"None",
+ "allowedOperations":[
+ "RepairReplication",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth":"Normal",
+ "failoverHealth":"Normal",
+ "healthErrors":[
+
+ ],
+ "policyId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy",
+ "policyFriendlyName":"A2APolicy",
+ "currentScenario":{
+ "scenarioName":"None",
+ "jobId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime":"1752-12-31T19:31:01Z"
+ },
+ "failoverRecoveryPointId":null,
+ "providerSpecificDetails":{
+ "instanceType":"A2A"
+ },
+ "recoveryContainerId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188"
+ }
+ }
+ },
+ "202":{
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
new file mode 100644
index 000000000000..b564bb98c941
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Create.json
new file mode 100644
index 000000000000..ada42f71fe2f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Create.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Delete.json
new file mode 100644
index 000000000000..08fc06c0f551
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Delete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_FailoverCommit.json
new file mode 100644
index 000000000000..2c6cb95edf2c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_FailoverCommit.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Get.json
new file mode 100644
index 000000000000..4f2c4517ef56
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Get.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_List.json
new file mode 100644
index 000000000000..432fd6628d6e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_List.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..f2f4900bc4d9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_PlannedFailover.json
new file mode 100644
index 000000000000..db733a0a567e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_PlannedFailover.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Purge.json
new file mode 100644
index 000000000000..4c3a77b28d9d
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Purge.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_RemoveDisks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_RemoveDisks.json
new file mode 100644
index 000000000000..7042b7b1fc82
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_RemoveDisks.json
@@ -0,0 +1,72 @@
+{
+ "parameters":{
+ "api-version":"2018-07-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",
+ "removeDisksInput":{
+ "properties":{
+ "providerSpecificDetails":{
+ "instanceType": "A2A",
+ "vmDisksUris": [
+ "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd"
+ ]
+ }
+ }
+ }
+ },
+ "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":"f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectedItemType":"",
+ "protectableItemId":null,
+ "recoveryServicesProviderId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf",
+ "primaryFabricFriendlyName":"cloud1",
+ "primaryFabricProvider":"AzureFabric",
+ "recoveryFabricFriendlyName":"cloud2",
+ "recoveryFabricId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "primaryProtectionContainerFriendlyName":"cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "recoveryProtectionContainerFriendlyName":"cloud_81224fc6-f326-5d35-96de-fbf51efb3188",
+ "protectionState":"Protected",
+ "protectionStateDescription":"Protected",
+ "activeLocation":"Primary",
+ "testFailoverState":"None",
+ "testFailoverStateDescription":"None",
+ "allowedOperations":[
+ "RepairReplication",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth":"Normal",
+ "failoverHealth":"Normal",
+ "healthErrors":[
+
+ ],
+ "policyId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy",
+ "policyFriendlyName":"A2APolicy",
+ "currentScenario":{
+ "scenarioName":"None",
+ "jobId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime":"1752-12-31T19:31:01Z"
+ },
+ "failoverRecoveryPointId":null,
+ "providerSpecificDetails":{
+ "instanceType":"A2A"
+ },
+ "recoveryContainerId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188"
+ }
+ }
+ },
+ "202":{
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_RepairReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_RepairReplication.json
new file mode 100644
index 000000000000..3bd01792047b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_RepairReplication.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Reprotect.json
new file mode 100644
index 000000000000..a8f1bcf24ee5
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Reprotect.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_ResolveHealthErrors.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_ResolveHealthErrors.json
new file mode 100644
index 000000000000..a1be4ed56187
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_ResolveHealthErrors.json
@@ -0,0 +1,71 @@
+{
+ "parameters":{
+ "api-version":"2018-07-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",
+ "resolveHealthInput":{
+ "properties":{
+ "healthErrors":[
+ {
+ "healthErrorId":"3:8020"
+ }
+ ]
+ }
+ }
+ },
+ "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":"f8491e4f-817a-40dd-a90c-af773978c75b",
+ "protectedItemType":"",
+ "protectableItemId":null,
+ "recoveryServicesProviderId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf",
+ "primaryFabricFriendlyName":"cloud1",
+ "primaryFabricProvider":"AzureFabric",
+ "recoveryFabricFriendlyName":"cloud2",
+ "recoveryFabricId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2",
+ "primaryProtectionContainerFriendlyName":"cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "recoveryProtectionContainerFriendlyName":"cloud_81224fc6-f326-5d35-96de-fbf51efb3188",
+ "protectionState":"Protected",
+ "protectionStateDescription":"Protected",
+ "activeLocation":"Primary",
+ "testFailoverState":"None",
+ "testFailoverStateDescription":"None",
+ "allowedOperations":[
+ "RepairReplication",
+ "UnplannedFailover",
+ "DisableProtection",
+ "TestFailover"
+ ],
+ "replicationHealth":"Normal",
+ "failoverHealth":"Normal",
+ "healthErrors":[
+
+ ],
+ "policyId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy",
+ "policyFriendlyName":"A2APolicy",
+ "currentScenario":{
+ "scenarioName":"None",
+ "jobId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None",
+ "startTime":"1752-12-31T19:31:01Z"
+ },
+ "failoverRecoveryPointId":null,
+ "providerSpecificDetails":{
+ "instanceType":"A2A"
+ },
+ "recoveryContainerId":"/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188"
+ }
+ }
+ },
+ "202":{
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_TestFailover.json
new file mode 100644
index 000000000000..9e15d9e3b0e2
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_TestFailover.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json
new file mode 100644
index 000000000000..4c8b11143131
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_TestFailoverCleanup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_UnplannedFailover.json
new file mode 100644
index 000000000000..11204d5f4eb4
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_UnplannedFailover.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Update.json
new file mode 100644
index 000000000000..10ba7ff6890e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_Update.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectedItems_UpdateMobilityService.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_UpdateMobilityService.json
new file mode 100644
index 000000000000..9c73d9640cb3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectedItems_UpdateMobilityService.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainerMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Create.json
new file mode 100644
index 000000000000..9f6aafc7e058
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Create.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainerMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Delete.json
new file mode 100644
index 000000000000..2d3a5f17b7de
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Delete.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainerMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Get.json
new file mode 100644
index 000000000000..6c355d5a87b9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Get.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainerMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_List.json
new file mode 100644
index 000000000000..d512bc8f08ab
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
new file mode 100644
index 000000000000..81082c686a6c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainerMappings_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Purge.json
new file mode 100644
index 000000000000..ebaa5fffaf0f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Purge.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "mappingName": "cloud1protectionprofile1",
+ "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainerMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Update.json
new file mode 100644
index 000000000000..d7f3887574ef
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainerMappings_Update.json
@@ -0,0 +1,53 @@
+{
+ "parameters":{
+ "mappingName":"cloud1protectionprofile1",
+ "protectionContainerName":"cloud_6d224fc6-f326-5d35-96de-fbf51efb3179",
+ "fabricName":"cloud1",
+ "api-version":"2018-07-10",
+ "resourceName":"vault1",
+ "resourceGroupName":"resourceGroupPS1",
+ "subscriptionId":"c183865e-6077-46f2-a3b1-deb0f4f4650a",
+ "updateInput":{
+ "properties":{
+ "providerSpecificInput":{
+ "instanceType":"A2A",
+ "agentAutoUpdateStatus":"Enabled",
+ "automationAccountArmId":"/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/automationrg1/providers/Microsoft.Automation/automationAccounts/automationaccount1"
+ }
+ }
+ }
+ },
+ "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",
+ "providerSpecificDetails":{
+ "instanceType":"A2A",
+ "agentAutoUpdateStatus":"Enabled",
+ "automationAccountArmId":"/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/automationrg1/providers/Microsoft.Automation/automationAccounts/automationaccount1",
+ "scheduleName":"cloud1protectionprofile1_a85ea38f-62a8-471b-93cc-69b74fd9578c",
+ "jobScheduleName":"ffd503ec-5f88-4b58-97c8-841466e7aa47"
+ }
+ }
+ }
+ },
+ "202":{
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_Create.json
new file mode 100644
index 000000000000..841fec8f7132
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_Create.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainers_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_Delete.json
new file mode 100644
index 000000000000..fb64ed3a4e10
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
new file mode 100644
index 000000000000..973e0d9390a7
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainers_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_Get.json
new file mode 100644
index 000000000000..703eb0b71326
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_Get.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainers_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_List.json
new file mode 100644
index 000000000000..b235d108d5c0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_List.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..e9c6d90fe238
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationProtectionContainers_SwitchProtection.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_SwitchProtection.json
new file mode 100644
index 000000000000..f40f3efcf2d8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationProtectionContainers_SwitchProtection.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Create.json
new file mode 100644
index 000000000000..f3e74efc9d94
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Create.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Delete.json
new file mode 100644
index 000000000000..9fff805f29c9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_FailoverCommit.json
new file mode 100644
index 000000000000..3cffe220cbf0
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_FailoverCommit.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Get.json
new file mode 100644
index 000000000000..8fa68e8a10b1
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Get.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_List.json
new file mode 100644
index 000000000000..bf50392e3b8e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_PlannedFailover.json
new file mode 100644
index 000000000000..8614a61d52a3
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_PlannedFailover.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Reprotect.json
new file mode 100644
index 000000000000..8fe60dcc3c5b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Reprotect.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_TestFailover.json
new file mode 100644
index 000000000000..aab7efcd2b3f
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_TestFailover.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
new file mode 100644
index 000000000000..e5d2f45276f2
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json
new file mode 100644
index 000000000000..83956d50ca0c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_UnplannedFailover.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryPlans_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Update.json
new file mode 100644
index 000000000000..ee607340acaf
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryPlans_Update.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryServicesProviders_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_Create.json
new file mode 100644
index 000000000000..7b9d43930a2c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_Create.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2018-07-10",
+ "providerName": "vmwareprovider1",
+ "fabricName": "vmwarefabric1",
+ "resourceName": "migrationvault",
+ "resourceGroupName": "resourcegroup1",
+ "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef",
+ "addProviderInput": {
+ "properties": {
+ "machineName": "vmwareprovider1",
+ "authenticationIdentityInput": {
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "applicationId": "f66fce08-c0c6-47a1-beeb-0ede5ea94f90",
+ "objectId": "141360b8-5686-4240-a027-5e24e6affeba",
+ "audience": "https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874",
+ "aadAuthority": "https://login.microsoftonline.com"
+ },
+ "resourceAccessIdentityInput": {
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "applicationId": "f66fce08-c0c6-47a1-beeb-0ede5ea94f90",
+ "objectId": "141360b8-5686-4240-a027-5e24e6affeba",
+ "audience": "https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874",
+ "aadAuthority": "https://login.microsoftonline.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/vmwareprovider1",
+ "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders",
+ "name": "vmwareprovider1",
+ "properties": {
+ "fabricType": "VMwareV2",
+ "friendlyName": "vmwareprovider1",
+ "providerVersion": "5.1.3688.0",
+ "serverVersion": "3.2.7510.0",
+ "providerVersionState": "Latest",
+ "fabricFriendlyName": "vmwarefabric1",
+ "lastHeartBeat": "2017-04-27T09:16:04.9405768Z",
+ "connectionStatus": "Connected",
+ "protectedItemCount": 2,
+ "allowedScenarios": [
+ "Refresh"
+ ]
+ }
+ }
+ },
+ "202": {
+ }
+ }
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_Delete.json
new file mode 100644
index 000000000000..65ce9cb6b812
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryServicesProviders_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_Get.json
new file mode 100644
index 000000000000..017b8294c528
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryServicesProviders_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_List.json
new file mode 100644
index 000000000000..d787ff7ef6f9
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_List.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..8506e724d802
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryServicesProviders_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_Purge.json
new file mode 100644
index 000000000000..65ce9cb6b812
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_Purge.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
new file mode 100644
index 000000000000..ef5e62ab662b
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa",
+ "fabricName": "cloud1",
+ "api-version": "2018-07-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-07-10/examples/ReplicationStorageClassificationMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_Create.json
new file mode 100644
index 000000000000..29ec7ebe753c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_Create.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationStorageClassificationMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_Delete.json
new file mode 100644
index 000000000000..698d1a55cfe8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_Delete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationStorageClassificationMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_Get.json
new file mode 100644
index 000000000000..44969d7ef9e8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationStorageClassificationMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_List.json
new file mode 100644
index 000000000000..a52e92b30dd6
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
new file mode 100644
index 000000000000..20fb5e5eaf4c
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationStorageClassifications_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassifications_Get.json
new file mode 100644
index 000000000000..743eba37ab48
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassifications_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationStorageClassifications_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassifications_List.json
new file mode 100644
index 000000000000..a47a8895d542
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassifications_List.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..bfabcc84e120
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationVaultHealth_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationVaultHealth_Get.json
new file mode 100644
index 000000000000..d22fdb7e6701
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationVaultHealth_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationVaultHealth_Refresh.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationVaultHealth_Refresh.json
new file mode 100644
index 000000000000..048bd58a8348
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationVaultHealth_Refresh.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationvCenters_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_Create.json
new file mode 100644
index 000000000000..c15109d5be39
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_Create.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "vCenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-07-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-07-10/examples/ReplicationvCenters_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_Delete.json
new file mode 100644
index 000000000000..451d5bb8b342
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "vCenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-07-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-07-10/examples/ReplicationvCenters_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_Get.json
new file mode 100644
index 000000000000..44cbeac75d2e
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "vCenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-07-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-07-10/examples/ReplicationvCenters_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_List.json
new file mode 100644
index 000000000000..9c59fbf67fd8
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/examples/ReplicationvCenters_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_ListByReplicationFabrics.json
new file mode 100644
index 000000000000..097a72e5e6df
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_ListByReplicationFabrics.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-07-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-07-10/examples/ReplicationvCenters_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_Update.json
new file mode 100644
index 000000000000..6d59052fdcb6
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/ReplicationvCenters_Update.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "vCenterName": "esx-78",
+ "fabricName": "MadhaviFabric",
+ "api-version": "2018-07-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-07-10/examples/SupportedOperatingSystems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/SupportedOperatingSystems_Get.json
new file mode 100644
index 000000000000..e4e48b6a1812
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/SupportedOperatingSystems_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters":{
+ "api-version":"2018-07-10",
+ "resourceName":"vault1",
+ "resourceGroupName":"resourceGroupPS1",
+ "subscriptionId":"c183865e-6077-46f2-a3b1-deb0f4f4650a"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "name":"Default",
+ "type":"Microsoft.RecoveryServices/vaults/replicationSupportedOperatingSystems",
+ "id":"/Subscriptions/bc403605-c2b0-43dd-abe9-0162124b1ee1/resourceGroups/oneBoxRG/providers/Microsoft.RecoveryServices/vaults/oneBoxRSVault/replicationSupportedOperatingSystems/Default",
+ "properties":{
+ "supportedOsList":[
+ {
+ "instanceType":"A2A",
+ "supportedOs":[
+ {
+ "osName":"centos",
+ "osType":"linux",
+ "osVersions":[
+ {
+ "version":"6.0"
+ }
+ ]
+ },
+ {
+ "osName":"Windows Server 2008 R2 Datacenter",
+ "osType":"windows",
+ "osVersions":[
+ {
+ "version":"6.1",
+ "servicePack":"1"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
new file mode 100644
index 000000000000..d7e18579ebed
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/examples/TargetComputeSizes_ListByReplicationProtectedItems.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2018-07-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-07-10/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json
new file mode 100644
index 000000000000..191252540389
--- /dev/null
+++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2018-07-10/service.json
@@ -0,0 +1,17482 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-07-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}/replicationMigrationItems": {
+ "get": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Gets the list of migration items in the protection container.",
+ "description": "Gets the list of ASR migration items in the protection container.",
+ "operationId": "ReplicationMigrationItems_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/MigrationItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the list of migration items in the protection container.": {
+ "$ref": "./examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}": {
+ "get": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Gets the details of a migration item.",
+ "operationId": "ReplicationMigrationItems_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": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the details of a migration item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Enables migration.",
+ "description": "The operation to create an ASR migration item (enable migration).",
+ "operationId": "ReplicationMigrationItems_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": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Enable migration input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EnableMigrationInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Enables migration.": {
+ "$ref": "./examples/ReplicationMigrationItems_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Delete the migration item.",
+ "description": "The operation to delete an ASR migration item.",
+ "operationId": "ReplicationMigrationItems_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": "protectionContainerName",
+ "in": "path",
+ "description": "Protection container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "deleteOption",
+ "in": "query",
+ "description": "The delete option.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete the migration item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Updates migration item.",
+ "description": "The operation to update the recovery settings of an ASR migration item.",
+ "operationId": "ReplicationMigrationItems_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": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "input",
+ "in": "body",
+ "description": "Update migration item input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateMigrationItemInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates migration item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Update.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrate": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Migrate item.",
+ "description": "The operation to initiate migration of the item.",
+ "operationId": "ReplicationMigrationItems_Migrate",
+ "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": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrateInput",
+ "in": "body",
+ "description": "Migrate input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MigrateInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Migrate item.": {
+ "$ref": "./examples/ReplicationMigrationItems_Migrate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints": {
+ "get": {
+ "tags": [
+ "MigrationRecoveryPoints"
+ ],
+ "summary": "Gets the recovery points for a migration item.",
+ "operationId": "MigrationRecoveryPoints_ListByReplicationMigrationItems",
+ "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": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationRecoveryPointCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets the recovery points for a migration item.": {
+ "$ref": "./examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints/{migrationRecoveryPointName}": {
+ "get": {
+ "tags": [
+ "MigrationRecoveryPoints"
+ ],
+ "summary": "Gets a recovery point for a migration item.",
+ "operationId": "MigrationRecoveryPoints_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": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "migrationRecoveryPointName",
+ "in": "path",
+ "description": "The migration recovery point name.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationRecoveryPoint"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets a recovery point for a migration item.": {
+ "$ref": "./examples/MigrationRecoveryPoints_Get.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrate": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Test migrate item.",
+ "description": "The operation to initiate test migration of the item.",
+ "operationId": "ReplicationMigrationItems_TestMigrate",
+ "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": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "testMigrateInput",
+ "in": "body",
+ "description": "Test migrate input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestMigrateInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Test migrate item.": {
+ "$ref": "./examples/ReplicationMigrationItems_TestMigrate.json"
+ }
+ }
+ }
+ },
+ "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrateCleanup": {
+ "post": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Test migrate cleanup.",
+ "description": "The operation to initiate test migrate cleanup.",
+ "operationId": "ReplicationMigrationItems_TestMigrateCleanup",
+ "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": "migrationItemName",
+ "in": "path",
+ "description": "Migration item name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "testMigrateCleanupInput",
+ "in": "body",
+ "description": "Test migrate cleanup input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestMigrateCleanupInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Test migrate cleanup.": {
+ "$ref": "./examples/ReplicationMigrationItems_TestMigrateCleanup.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"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectableItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/ProtectableItemQueryParameter",
+ "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}/addDisks": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Add disk(s) for protection.",
+ "description": "Operation to add disks(s) to the replication protected item.",
+ "operationId": "ReplicationProtectedItems_AddDisks",
+ "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": "addDisksInput",
+ "in": "body",
+ "description": "Add disks input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddDisksInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Add disk(s) for protection.": {
+ "$ref": "./examples/ReplicationProtectedItems_AddDisks.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}/removeDisks": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Removes disk(s).",
+ "description": "Operation to remove disk(s) from the replication protected item.",
+ "operationId": "ReplicationProtectedItems_RemoveDisks",
+ "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": "removeDisksInput",
+ "in": "body",
+ "description": "Remove disks input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RemoveDisksInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Removes disk(s).": {
+ "$ref": "./examples/ReplicationProtectedItems_RemoveDisks.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}/ResolveHealthErrors": {
+ "post": {
+ "tags": [
+ "ReplicationProtectedItems"
+ ],
+ "summary": "Resolve health errors.",
+ "description": "Operation to resolve health issues of the replication protected item.",
+ "operationId": "ReplicationProtectedItems_ResolveHealthErrors",
+ "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": "resolveHealthInput",
+ "in": "body",
+ "description": "Health issue input object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResolveHealthInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ReplicationProtectedItem"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Resolve health errors.": {
+ "$ref": "./examples/ReplicationProtectedItems_ResolveHealthErrors.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"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ReplicationProtectionContainerMappings"
+ ],
+ "summary": "Update protection container mapping.",
+ "description": "The operation to update protection container mapping.",
+ "operationId": "ReplicationProtectionContainerMappings_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": "mappingName",
+ "in": "path",
+ "description": "Protection container mapping name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "updateInput",
+ "in": "body",
+ "description": "Mapping update input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateProtectionContainerMappingInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProtectionContainerMapping"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update protection container mapping.": {
+ "$ref": "./examples/ReplicationProtectionContainerMappings_Update.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"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ReplicationRecoveryServicesProviders"
+ ],
+ "summary": "Adds a recovery services provider.",
+ "description": "The operation to add a recovery services provider.",
+ "operationId": "ReplicationRecoveryServicesProviders_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": "providerName",
+ "in": "path",
+ "description": "Recovery services provider name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addProviderInput",
+ "in": "body",
+ "description": "Add provider input.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddRecoveryServicesProviderInput"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryServicesProvider"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Adds a recovery services provider.": {
+ "$ref": "./examples/ReplicationRecoveryServicesProviders_Create.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 classification 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": "vCenter 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 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": {
+ "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}/replicationMigrationItems": {
+ "get": {
+ "tags": [
+ "ReplicationMigrationItems"
+ ],
+ "summary": "Gets the list of migration items in the vault.",
+ "operationId": "ReplicationMigrationItems_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.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "OData filter options.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MigrationItemCollection"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/MigrationItemsQueryParameter",
+ "x-ms-examples": {
+ "Gets the list of migration items in the vault.": {
+ "$ref": "./examples/ReplicationMigrationItems_List.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}/replicationSupportedOperatingSystems": {
+ "get": {
+ "tags": [
+ "SupportedOperatingSystems"
+ ],
+ "summary": "Gets the data of supported OSes by SRS.",
+ "operationId": "SupportedOperatingSystems_Get",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ResourceName"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SupportedOperatingSystems"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets the data of supported OSes by SRS.": {
+ "$ref": "./examples/SupportedOperatingSystems_Get.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": {
+ "A2AAddDisksInput": {
+ "description": "A2A add disk(s) input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AddDisksProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "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"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "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"
+ },
+ "A2AContainerMappingInput": {
+ "description": "A2A container mapping input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ }
+ },
+ "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"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information."
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "type": "string"
+ },
+ "recoveryAzureNetworkId": {
+ "description": "The recovery Azure virtual network ARM id.",
+ "type": "string"
+ },
+ "recoverySubnetName": {
+ "description": "The recovery subnet name.",
+ "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": true
+ }
+ }
+ },
+ "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"
+ },
+ "diskState": {
+ "description": "The disk state.",
+ "type": "string"
+ },
+ "allowedDiskLevelOperation": {
+ "description": "The disk level operations list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isDiskEncrypted": {
+ "description": "A value indicating whether vm has encrypted os disk or not.",
+ "type": "boolean"
+ },
+ "secretIdentifier": {
+ "description": "The secret URL / identifier (BEK).",
+ "type": "string"
+ },
+ "dekKeyVaultArmId": {
+ "description": "The KeyVault resource id for secret (BEK).",
+ "type": "string"
+ },
+ "isDiskKeyEncrypted": {
+ "description": "A value indicating whether disk key got encrypted or not.",
+ "type": "boolean"
+ },
+ "keyIdentifier": {
+ "description": "The key URL / identifier (KEK).",
+ "type": "string"
+ },
+ "kekKeyVaultArmId": {
+ "description": "The KeyVault resource id for key (KEK).",
+ "type": "string"
+ }
+ }
+ },
+ "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"
+ },
+ "diskState": {
+ "description": "The disk state.",
+ "type": "string"
+ },
+ "allowedDiskLevelOperation": {
+ "description": "The disk level operations list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isDiskEncrypted": {
+ "description": "A value indicating whether vm has encrypted os disk or not.",
+ "type": "boolean"
+ },
+ "secretIdentifier": {
+ "description": "The secret URL / identifier (BEK).",
+ "type": "string"
+ },
+ "dekKeyVaultArmId": {
+ "description": "The KeyVault resource id for secret (BEK).",
+ "type": "string"
+ },
+ "isDiskKeyEncrypted": {
+ "description": "A value indicating whether disk key got encrypted or not.",
+ "type": "boolean"
+ },
+ "keyIdentifier": {
+ "description": "The key URL / identifier (KEK).",
+ "type": "string"
+ },
+ "kekKeyVaultArmId": {
+ "description": "The KeyVault resource id for key (KEK).",
+ "type": "string"
+ }
+ }
+ },
+ "A2AProtectionContainerMappingDetails": {
+ "description": "A2A provider specific settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "type": "string"
+ },
+ "scheduleName": {
+ "description": "The schedule arm name.",
+ "type": "string"
+ },
+ "jobScheduleName": {
+ "description": "The job schedule arm name.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "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": true
+ }
+ },
+ "disks": {
+ "description": "List of disk ids representing a recovery point.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2ARemoveDisksInput": {
+ "description": "A2A remove disk(s) input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RemoveDisksProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmDisksUris": {
+ "description": "The list of vm disk vhd URIs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "vmManagedDisksIds": {
+ "description": "The list of vm managed disk Ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "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": true
+ }
+ },
+ "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"
+ },
+ "recoveryAvailabilityZone": {
+ "description": "The recovery availability zone.",
+ "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"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery disk encryption information."
+ }
+ },
+ "x-ms-discriminator-value": "A2A"
+ },
+ "A2AUpdateContainerMappingInput": {
+ "description": "A2A update protection container mapping.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "agentAutoUpdateStatus": {
+ "description": "A value indicating whether the auto update is enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AgentAutoUpdateStatus",
+ "modelAsString": true
+ }
+ },
+ "automationAccountArmId": {
+ "description": "The automation account arm id.",
+ "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"
+ },
+ "diskEncryptionInfo": {
+ "$ref": "#/definitions/DiskEncryptionInfo",
+ "description": "The recovery os disk encryption information."
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "AddDisksInput": {
+ "description": "Input for add disk(s) operation.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddDisksInputProperties",
+ "description": "Add disks input properties."
+ }
+ }
+ },
+ "AddDisksInputProperties": {
+ "description": "Add Disks input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/AddDisksProviderSpecificInput",
+ "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."
+ }
+ }
+ },
+ "AddDisksProviderSpecificInput": {
+ "description": "Add Disks provider specific input.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "AddRecoveryServicesProviderInput": {
+ "description": "Input required to add a provider.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddRecoveryServicesProviderInputProperties",
+ "description": "The properties of an add provider request."
+ }
+ }
+ },
+ "AddRecoveryServicesProviderInputProperties": {
+ "description": "The properties of an add provider request.",
+ "required": [
+ "machineName",
+ "authenticationIdentityInput",
+ "resourceAccessIdentityInput"
+ ],
+ "type": "object",
+ "properties": {
+ "machineName": {
+ "description": "The name of the machine where the provider is getting added.",
+ "type": "string"
+ },
+ "authenticationIdentityInput": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for DRA authentication."
+ },
+ "resourceAccessIdentityInput": {
+ "$ref": "#/definitions/IdentityProviderInput",
+ "description": "The identity provider input for resource access."
+ }
+ }
+ },
+ "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 properties 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/behavior 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"
+ }
+ },
+ "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. Overridden 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 Entities 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": true
+ }
+ },
+ "groups": {
+ "description": "The recovery plan groups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecoveryPlanGroup"
+ }
+ }
+ }
+ },
+ "CurrentJobDetails": {
+ "description": "Current job details of the migration item.",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "description": "The job name.",
+ "type": "string"
+ },
+ "jobId": {
+ "description": "The ARM Id of the job being executed.",
+ "type": "string"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The start time of the job.",
+ "type": "string"
+ }
+ }
+ },
+ "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 data store 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": true
+ }
+ },
+ "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": "On-prem 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"
+ }
+ }
+ },
+ "DiskEncryptionInfo": {
+ "description": "Recovery disk encryption info (BEK and KEK).",
+ "type": "object",
+ "properties": {
+ "diskEncryptionKeyInfo": {
+ "$ref": "#/definitions/DiskEncryptionKeyInfo",
+ "description": "The recovery KeyVault reference for secret."
+ },
+ "keyEncryptionKeyInfo": {
+ "$ref": "#/definitions/KeyEncryptionKeyInfo",
+ "description": "The recovery KeyVault reference for key."
+ }
+ }
+ },
+ "DiskEncryptionKeyInfo": {
+ "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows).",
+ "type": "object",
+ "properties": {
+ "secretIdentifier": {
+ "description": "The secret url / identifier.",
+ "type": "string"
+ },
+ "keyVaultResourceArmId": {
+ "description": "The KeyVault resource ARM id for secret.",
+ "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"
+ }
+ }
+ },
+ "EnableMigrationInput": {
+ "description": "Enable migration input.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EnableMigrationInputProperties",
+ "description": "Enable migration input properties."
+ }
+ }
+ },
+ "EnableMigrationInputProperties": {
+ "description": "Enable migration input properties.",
+ "required": [
+ "policyId",
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "policyId": {
+ "description": "The policy Id.",
+ "type": "string"
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/EnableMigrationProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "EnableMigrationProviderSpecificInput": {
+ "description": "Enable migration provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "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 occurrence 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. Overridden 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. Overridden 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"
+ },
+ "errorId": {
+ "description": "The health error unique id.",
+ "type": "string"
+ },
+ "customerResolvability": {
+ "description": "Value indicating whether the health error is customer resolvable.",
+ "enum": [
+ "Allowed",
+ "NotAllowed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthErrorCustomerResolvability",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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",
+ "AgentAutoUpdate"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "HealthErrorCategory",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "Severity of error.",
+ "enum": [
+ "NONE",
+ "Warning",
+ "Error",
+ "Info"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "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. String value of {SrsDataContract.PresenceStatus} enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hasFibreChannelAdapter": {
+ "description": "A value indicating whether the VM has a fibre channel adapter attached. String value of {SrsDataContract.PresenceStatus} enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hasSharedVhd": {
+ "description": "A value indicating whether the VM has a shared VHD attached. String value of {SrsDataContract.PresenceStatus} enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "x-ms-discriminator-value": "HyperVVirtualMachine"
+ },
+ "IdentityProviderDetails": {
+ "description": "Identity provider details.",
+ "type": "object",
+ "properties": {
+ "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"
+ }
+ }
+ },
+ "IdentityProviderInput": {
+ "description": "Identity provider input.",
+ "required": [
+ "tenantId",
+ "applicationId",
+ "objectId",
+ "audience",
+ "aadAuthority"
+ ],
+ "type": "object",
+ "properties": {
+ "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"
+ }
+ }
+ },
+ "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": true
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "InMageAzureV2DiskInputDetails": {
+ "description": "Disk input details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The DiskId.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The LogStorageAccountId.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The DiskType.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "InMageAzureV2EnableProtectionInput": {
+ "description": "VMware Azure specific enable protection input.",
+ "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": {
+ "$ref": "#/definitions/InMageAzureV2DiskInputDetails"
+ }
+ },
+ "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"
+ },
+ "diskType": {
+ "description": "The DiskType.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ }
+ },
+ "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"
+ },
+ "InMageAzureV2ManagedDiskDetails": {
+ "description": "InMageAzureV2 Managed disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string"
+ },
+ "seedManagedDiskId": {
+ "description": "Seed managed disk Id.",
+ "type": "string"
+ },
+ "replicaDiskType": {
+ "description": "The replica disk type.",
+ "type": "string"
+ }
+ }
+ },
+ "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": true
+ }
+ }
+ },
+ "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 data stores of the on-premise machine. Value can be list of strings that contain data store 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"
+ },
+ "protectedManagedDisks": {
+ "description": "The list of protected managed disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InMageAzureV2ManagedDiskDetails"
+ }
+ }
+ },
+ "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 data store 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": true
+ }
+ },
+ "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": true
+ }
+ }
+ },
+ "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 data stores of the on-premise machine Value can be list of strings that contain data store 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 data store 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 up to.",
+ "type": "string"
+ },
+ "fabricId": {
+ "description": "The Id of the fabric to search jobs under.",
+ "type": "string"
+ },
+ "affectedObjectTypes": {
+ "description": "The type of objects.",
+ "type": "string"
+ },
+ "jobStatus": {
+ "description": "The states of the job to be filtered can be in.",
+ "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"
+ },
+ "KeyEncryptionKeyInfo": {
+ "description": "Key Encryption Key (KEK) information.",
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "The key url / identifier.",
+ "type": "string"
+ },
+ "keyVaultResourceArmId": {
+ "description": "The KeyVault resource ARM id for key.",
+ "type": "string"
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "MigrateInput": {
+ "description": "Input for migrate.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrateInputProperties",
+ "description": "Migrate input properties."
+ }
+ }
+ },
+ "MigrateInputProperties": {
+ "description": "Migrate input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/MigrateProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "MigrateProviderSpecificInput": {
+ "description": "Migrate provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "MigrationItem": {
+ "description": "Migration item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrationItemProperties",
+ "description": "The migration item properties."
+ }
+ }
+ },
+ "MigrationItemCollection": {
+ "description": "Migration item collection.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of migration items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrationItem"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationItemProperties": {
+ "description": "Migration item properties.",
+ "type": "object",
+ "properties": {
+ "machineName": {
+ "description": "The on-premise virtual machine name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "policyId": {
+ "description": "The ARM Id of policy governing this item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "policyFriendlyName": {
+ "description": "The name of policy governing this item.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryServicesProviderId": {
+ "description": "The recovery services provider ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "migrationState": {
+ "description": "The migration status.",
+ "enum": [
+ "None",
+ "EnableMigrationInProgress",
+ "EnableMigrationFailed",
+ "DisableMigrationInProgress",
+ "DisableMigrationFailed",
+ "InitialSeedingInProgress",
+ "InitialSeedingFailed",
+ "Replicating",
+ "MigrationInProgress",
+ "MigrationSucceeded",
+ "MigrationFailed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MigrationState",
+ "modelAsString": true
+ }
+ },
+ "migrationStateDescription": {
+ "description": "The migration state description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "testMigrateState": {
+ "description": "The test migrate state.",
+ "enum": [
+ "None",
+ "TestMigrationInProgress",
+ "TestMigrationSucceeded",
+ "TestMigrationFailed",
+ "TestMigrationCleanupInProgress"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TestMigrationState",
+ "modelAsString": true
+ }
+ },
+ "testMigrateStateDescription": {
+ "description": "The test migrate state description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "health": {
+ "description": "The consolidated health.",
+ "type": "string",
+ "readOnly": true
+ },
+ "healthErrors": {
+ "description": "The list of health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthError"
+ },
+ "readOnly": true
+ },
+ "allowedOperations": {
+ "description": "The allowed operations on the migration item, based on the current migration state of the item.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "DisableMigration",
+ "TestMigrate",
+ "TestMigrateCleanup",
+ "Migrate"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MigrationItemOperation",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "currentJob": {
+ "$ref": "#/definitions/CurrentJobDetails",
+ "description": "The current job details.",
+ "readOnly": true
+ },
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/MigrationProviderSpecificSettings",
+ "description": "The migration provider custom settings."
+ }
+ }
+ },
+ "MigrationItemsQueryParameter": {
+ "description": "Query parameter to enumerate migration items.",
+ "type": "object",
+ "properties": {
+ "sourceFabricName": {
+ "description": "The source fabric name filter.",
+ "type": "string"
+ },
+ "instanceType": {
+ "description": "The replication provider type.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationProviderSpecificSettings": {
+ "description": "Migration provider specific settings.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the instance type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "MigrationRecoveryPoint": {
+ "description": "Recovery point for a migration item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MigrationRecoveryPointProperties",
+ "description": "Recovery point properties."
+ }
+ }
+ },
+ "MigrationRecoveryPointCollection": {
+ "description": "Collection of migration recovery points.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The migration recovery point details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MigrationRecoveryPoint"
+ }
+ },
+ "nextLink": {
+ "description": "The value of next link.",
+ "type": "string"
+ }
+ }
+ },
+ "MigrationRecoveryPointProperties": {
+ "description": "Migration item recovery point properties.",
+ "type": "object",
+ "properties": {
+ "recoveryPointTime": {
+ "format": "date-time",
+ "description": "The recovery point time.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recoveryPointType": {
+ "description": "The recovery point type.",
+ "enum": [
+ "NotSpecified",
+ "ApplicationConsistent",
+ "CrashConsistent"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MigrationRecoveryPointType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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 extensions 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"
+ }
+ }
+ },
+ "OSVersionWrapper": {
+ "description": "Wrapper model for OSVersion to include version and service pack info.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version.",
+ "type": "string"
+ },
+ "servicePack": {
+ "description": "Service pack.",
+ "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."
+ }
+ }
+ },
+ "ProtectableItemQueryParameter": {
+ "description": "Query parameter to enumerate Protectable items.",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "State of the Protectable item query filter.",
+ "type": "string"
+ }
+ }
+ },
+ "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": true
+ }
+ }
+ }
+ },
+ "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. Overridden 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. Overridden in derived classes.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "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": true
+ }
+ },
+ "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": true
+ }
+ },
+ "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": true
+ }
+ }
+ },
+ "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": true
+ }
+ }
+ },
+ "failoverDirections": {
+ "description": "The list of failover directions.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "PrimaryToRecovery",
+ "RecoveryToPrimary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PossibleOperationsDirections",
+ "modelAsString": true
+ }
+ }
+ },
+ "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": true
+ }
+ }
+ },
+ "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": true
+ }
+ },
+ "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": true
+ }
+ },
+ "recoveryVmCreationOption": {
+ "description": "The ALR option.",
+ "enum": [
+ "CreateVmIfNotFound",
+ "NoAction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AlternateLocationRecoveryOption",
+ "modelAsString": true
+ }
+ }
+ },
+ "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": true
+ }
+ }
+ },
+ "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": true
+ }
+ },
+ "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": true
+ }
+ }
+ },
+ "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": true
+ }
+ },
+ "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": true
+ }
+ }
+ },
+ "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": true
+ }
+ },
+ "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": true
+ }
+ },
+ "sourceSiteOperations": {
+ "description": "A value indicating whether source site operations are required.",
+ "enum": [
+ "Required",
+ "NotRequired"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SourceSiteOperations",
+ "modelAsString": true
+ }
+ },
+ "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"
+ },
+ "authenticationIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The authentication identity details."
+ },
+ "resourceAccessIdentityDetails": {
+ "$ref": "#/definitions/IdentityProviderDetails",
+ "description": "The resource access identity details."
+ },
+ "providerVersionDetails": {
+ "$ref": "#/definitions/VersionDetails",
+ "description": "The provider version details."
+ }
+ }
+ },
+ "RemoveDisksInput": {
+ "description": "Input for remove disk(s) operation.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RemoveDisksInputProperties",
+ "description": "Remove disk input properties."
+ }
+ }
+ },
+ "RemoveDisksInputProperties": {
+ "description": "Remove Disk input properties.",
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/RemoveDisksProviderSpecificInput",
+ "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."
+ }
+ }
+ },
+ "RemoveDisksProviderSpecificInput": {
+ "description": "Remove Disk provider specific input.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "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"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderSpecificSettings": {
+ "description": "Replication provider specific settings.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the Instance type.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ReplicationProviderSpecificUpdateContainerMappingInput": {
+ "description": "Provider specific input for update pairing operations.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "ResolveHealthError": {
+ "description": "Resolve health errors input properties.",
+ "type": "object",
+ "properties": {
+ "healthErrorId": {
+ "description": "Health error id.",
+ "type": "string"
+ }
+ }
+ },
+ "ResolveHealthInput": {
+ "description": "Resolve health input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ResolveHealthInputProperties",
+ "description": "Disable resolve health input properties."
+ }
+ }
+ },
+ "ResolveHealthInputProperties": {
+ "description": "Resolve health input properties.",
+ "type": "object",
+ "properties": {
+ "healthErrors": {
+ "description": "Health errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResolveHealthError"
+ }
+ }
+ }
+ },
+ "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 under 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": "Properties 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": "Properties of the storage mapping 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"
+ }
+ }
+ }
+ },
+ "SupportedOperatingSystems": {
+ "description": "Response object for supported operating systems API.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SupportedOSProperties",
+ "description": "Properties model for supported OS API."
+ }
+ }
+ },
+ "SupportedOSDetails": {
+ "description": "Supported Operating system details.",
+ "type": "object",
+ "properties": {
+ "osName": {
+ "description": "The name.",
+ "type": "string"
+ },
+ "osType": {
+ "description": "The type.",
+ "type": "string"
+ },
+ "osVersions": {
+ "description": "List of version for OS.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSVersionWrapper"
+ }
+ }
+ }
+ },
+ "SupportedOSProperties": {
+ "description": "Properties model for supported OS API.",
+ "type": "object",
+ "properties": {
+ "supportedOsList": {
+ "description": "The supported OS List.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedOSProperty"
+ }
+ }
+ }
+ },
+ "SupportedOSProperty": {
+ "description": "Property object for supported OS api.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "Gets the replication provider type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "supportedOs": {
+ "description": "List of supported OS.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SupportedOSDetails"
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "TestMigrateCleanupInput": {
+ "description": "Input for test migrate cleanup.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestMigrateCleanupInputProperties",
+ "description": "Test migrate cleanup input properties."
+ }
+ }
+ },
+ "TestMigrateCleanupInputProperties": {
+ "description": "Test migrate cleanup input properties.",
+ "type": "object",
+ "properties": {
+ "comments": {
+ "description": "Test migrate cleanup comments.",
+ "type": "string"
+ }
+ }
+ },
+ "TestMigrateInput": {
+ "description": "Input for test migrate.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TestMigrateInputProperties",
+ "description": "Test migrate input properties."
+ }
+ }
+ },
+ "TestMigrateInputProperties": {
+ "description": "Test migrate input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/TestMigrateProviderSpecificInput",
+ "description": "The provider specific details."
+ }
+ }
+ },
+ "TestMigrateProviderSpecificInput": {
+ "description": "Test migrate provider specific input.",
+ "required": [
+ "instanceType"
+ ],
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "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"
+ }
+ }
+ },
+ "UpdateMigrationItemInput": {
+ "description": "Update migration item input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateMigrationItemInputProperties",
+ "description": "Update migration item input properties."
+ }
+ }
+ },
+ "UpdateMigrationItemInputProperties": {
+ "description": "Update migration item input properties.",
+ "required": [
+ "providerSpecificDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "providerSpecificDetails": {
+ "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput",
+ "description": "The provider specific input to update migration item."
+ }
+ }
+ },
+ "UpdateMigrationItemProviderSpecificInput": {
+ "description": "Update migration item provider specific input.",
+ "type": "object",
+ "properties": {
+ "instanceType": {
+ "description": "The class type.",
+ "type": "string"
+ }
+ },
+ "discriminator": "instanceType"
+ },
+ "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."
+ }
+ }
+ },
+ "UpdateProtectionContainerMappingInput": {
+ "description": "Container pairing update input.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateProtectionContainerMappingInputProperties",
+ "description": "Update protection container mapping input properties."
+ }
+ }
+ },
+ "UpdateProtectionContainerMappingInputProperties": {
+ "description": "Container pairing update input.",
+ "type": "object",
+ "properties": {
+ "providerSpecificInput": {
+ "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput",
+ "description": "Provider specific input for updating protection container mapping."
+ }
+ }
+ },
+ "UpdateRecoveryPlanInput": {
+ "description": "Update recovery plan input class.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateRecoveryPlanInputProperties",
+ "description": "Recovery plan update properties."
+ }
+ }
+ },
+ "UpdateRecoveryPlanInputProperties": {
+ "description": "Recovery plan update 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": true
+ }
+ },
+ "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 privileges 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."
+ },
+ "containersHealth": {
+ "$ref": "#/definitions/ResourceHealthSummary",
+ "description": "The list of the health detail of the containers 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 received 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 details.",
+ "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": true
+ }
+ }
+ }
+ },
+ "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/behavior 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/behavior specific to vmm to azure.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "VmmToAzure"
+ },
+ "VmmToVmmCreateNetworkMappingInput": {
+ "description": "Create network mappings input properties/behavior 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/behavior 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. String value of {SrsDataContract.PresenceStatus} enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hasFibreChannelAdapter": {
+ "description": "A value indicating whether the VM has a fibre channel adapter attached. String value of {SrsDataContract.PresenceStatus} enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ },
+ "hasSharedVhd": {
+ "description": "A value indicating whether the VM has a shared VHD attached. String value of {SrsDataContract.PresenceStatus} enum.",
+ "enum": [
+ "Unknown",
+ "Present",
+ "NotPresent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PresenceStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "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"
+ },
+ "enableAcceleratedNetworkingOnRecovery": {
+ "description": "A value indicating whether the NIC has accelerated networking enabled.",
+ "type": "boolean"
+ }
+ }
+ },
+ "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"
+ },
+ "enableAcceleratedNetworkingOnRecovery": {
+ "description": "Whether the NIC has accelerated networking enabled.",
+ "type": "boolean"
+ }
+ }
+ },
+ "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"
+ },
+ "VMwareCbtContainerCreationInput": {
+ "description": "VMwareCbt container creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput"
+ }
+ ],
+ "properties": {},
+ "x-ms-discriminator-value": "6c7da455-506f-43ff-a16a-8eb101aebb70"
+ },
+ "VMwareCbtContainerMappingInput": {
+ "description": "VMwareCbt container mapping input.",
+ "required": [
+ "keyVaultId",
+ "keyVaultUri",
+ "storageAccountId",
+ "storageAccountSasSecretName",
+ "serviceBusConnectionStringSecretName",
+ "targetLocation"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput"
+ }
+ ],
+ "properties": {
+ "keyVaultId": {
+ "description": "The target key vault ARM Id.",
+ "type": "string"
+ },
+ "keyVaultUri": {
+ "description": "The target key vault URL.",
+ "type": "string"
+ },
+ "storageAccountId": {
+ "description": "The storage account ARM Id.",
+ "type": "string"
+ },
+ "storageAccountSasSecretName": {
+ "description": "The secret name of the storage account.",
+ "type": "string"
+ },
+ "serviceBusConnectionStringSecretName": {
+ "description": "The secret name of the service bus connection string.",
+ "type": "string"
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtDiskInput": {
+ "description": "VMwareCbt disk input.",
+ "required": [
+ "diskId",
+ "isOSDisk",
+ "logStorageAccountId",
+ "logStorageAccountSasSecretName"
+ ],
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk Id.",
+ "type": "string"
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string"
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string"
+ },
+ "logStorageAccountSasSecretName": {
+ "description": "The key vault secret name of the log storage account.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "The disk type.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskAccountType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "VMwareCbtEnableMigrationInput": {
+ "description": "VMwareCbt specific enable migration input.",
+ "required": [
+ "vmwareMachineId",
+ "disksToInclude",
+ "dataMoverRunAsAccountId",
+ "snapshotRunAsAccountId",
+ "targetResourceGroupId",
+ "targetNetworkId",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EnableMigrationProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "vmwareMachineId": {
+ "description": "The ARM Id of the VM discovered in VMware.",
+ "type": "string"
+ },
+ "disksToInclude": {
+ "description": "The disks to include list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtDiskInput"
+ }
+ },
+ "licenseType": {
+ "description": "License type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ },
+ "dataMoverRunAsAccountId": {
+ "description": "The data mover RunAs account Id.",
+ "type": "string"
+ },
+ "snapshotRunAsAccountId": {
+ "description": "The snapshot RunAs account Id.",
+ "type": "string"
+ },
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network ARM Id.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "The target subnet name.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtMigrateInput": {
+ "description": "VMwareCbt specific migrate input.",
+ "required": [
+ "performShutdown",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrateProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "performShutdown": {
+ "description": "A value indicating whether VM is to be shutdown.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtMigrationDetails": {
+ "description": "VMwareCbt provider specific settings",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MigrationProviderSpecificSettings"
+ }
+ ],
+ "properties": {
+ "vmwareMachineId": {
+ "description": "The ARM Id of the VM discovered in VMware.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "The type of the OS on the VM.",
+ "type": "string",
+ "readOnly": true
+ },
+ "licenseType": {
+ "description": "License Type of the VM to be used.",
+ "type": "string"
+ },
+ "dataMoverRunAsAccountId": {
+ "description": "The data mover RunAs account Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "snapshotRunAsAccountId": {
+ "description": "The snapshot RunAs account Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetVmName": {
+ "description": "Target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group Id.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "protectedDisks": {
+ "description": "The list of protected disks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtProtectedDiskDetails"
+ }
+ },
+ "targetNetworkId": {
+ "description": "The target network Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The network details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtNicDetails"
+ }
+ },
+ "migrationRecoveryPointId": {
+ "description": "The recovery point Id to which the VM was migrated.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastRecoveryPointReceived": {
+ "format": "date-time",
+ "description": "The last recovery point received time.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtNicDetails": {
+ "description": "VMwareCbt NIC details.",
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "sourceIPAddress": {
+ "description": "The source IP address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceIPAddressType": {
+ "description": "The source IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "sourceNetworkId": {
+ "description": "Source network Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetIPAddress": {
+ "description": "The target IP address.",
+ "type": "string"
+ },
+ "targetIPAddressType": {
+ "description": "The target IP address type.",
+ "enum": [
+ "Dynamic",
+ "Static"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EthernetAddressType",
+ "modelAsString": true
+ }
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "isSelectedForMigration": {
+ "description": "A value indicating whether this NIC is selected for migration.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtNicInput": {
+ "description": "VMwareCbt NIC input.",
+ "required": [
+ "nicId",
+ "isPrimaryNic"
+ ],
+ "type": "object",
+ "properties": {
+ "nicId": {
+ "description": "The NIC Id.",
+ "type": "string"
+ },
+ "isPrimaryNic": {
+ "description": "A value indicating whether this is the primary NIC.",
+ "type": "string"
+ },
+ "targetSubnetName": {
+ "description": "Target subnet name.",
+ "type": "string"
+ },
+ "targetStaticIPAddress": {
+ "description": "The static IP address.",
+ "type": "string"
+ },
+ "isSelectedForMigration": {
+ "description": "A value indicating whether this NIC is selected for migration.",
+ "type": "string"
+ }
+ }
+ },
+ "VMwareCbtPolicyCreationInput": {
+ "description": "VMware Cbt policy creation input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PolicyProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointHistoryInMinutes": {
+ "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": {
+ "recoveryPointHistoryInMinutes": {
+ "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"
+ },
+ "VMwareCbtProtectedDiskDetails": {
+ "description": "VMwareCbt protected disk details.",
+ "type": "object",
+ "properties": {
+ "diskId": {
+ "description": "The disk id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskName": {
+ "description": "The disk name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskPath": {
+ "description": "The disk path.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isOSDisk": {
+ "description": "A value indicating whether the disk is the OS disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacityInBytes": {
+ "format": "int64",
+ "description": "The disk capacity in bytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "logStorageAccountId": {
+ "description": "The log storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "logStorageAccountSasSecretName": {
+ "description": "The key vault secret name of the log storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "seedManagedDiskId": {
+ "description": "The ARM Id of the seed managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetManagedDiskId": {
+ "description": "The ARM Id of the target managed disk.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskType": {
+ "description": "The disk type.",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DiskType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "VMwareCbtProtectionContainerMappingDetails": {
+ "description": "VMwareCbt provider specific container mapping details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails"
+ }
+ ],
+ "properties": {
+ "keyVaultId": {
+ "description": "The target key vault ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "keyVaultUri": {
+ "description": "The target key vault URI.",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageAccountId": {
+ "description": "The storage account ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageAccountSasSecretName": {
+ "description": "The secret name of the storage account.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceBusConnectionStringSecretName": {
+ "description": "The secret name of the service bus connection string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetLocation": {
+ "description": "The target location.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtTestMigrateInput": {
+ "description": "VMwareCbt specific test migrate input.",
+ "required": [
+ "recoveryPointId",
+ "networkId",
+ "instanceType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TestMigrateProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "recoveryPointId": {
+ "description": "The recovery point Id.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "The test network Id.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareCbt"
+ },
+ "VMwareCbtUpdateMigrationItemInput": {
+ "description": "VMwareCbt specific update migration item input.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput"
+ }
+ ],
+ "properties": {
+ "targetVmName": {
+ "description": "The target VM name.",
+ "type": "string"
+ },
+ "targetVmSize": {
+ "description": "The target VM size.",
+ "type": "string"
+ },
+ "targetResourceGroupId": {
+ "description": "The target resource group ARM Id.",
+ "type": "string"
+ },
+ "targetAvailabilitySetId": {
+ "description": "The target availability set ARM Id.",
+ "type": "string"
+ },
+ "targetBootDiagnosticsStorageAccountId": {
+ "description": "The target boot diagnostics storage account ARM Id.",
+ "type": "string"
+ },
+ "targetNetworkId": {
+ "description": "The target network ARM Id.",
+ "type": "string"
+ },
+ "vmNics": {
+ "description": "The list of NIC details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VMwareCbtNicInput"
+ }
+ },
+ "licenseType": {
+ "description": "The license type.",
+ "enum": [
+ "NotSpecified",
+ "NoLicenseType",
+ "WindowsServer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LicenseType",
+ "modelAsString": true
+ }
+ }
+ },
+ "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": "VMwareV2 fabric provider specific settings.",
+ "required": [
+ "vmwareSiteId",
+ "migrationSolutionId"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificCreationInput"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string"
+ },
+ "migrationSolutionId": {
+ "description": "The ARM Id of the migration solution.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VMwareV2"
+ },
+ "VMwareV2FabricSpecificDetails": {
+ "description": "VMwareV2 fabric specific details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FabricSpecificDetails"
+ }
+ ],
+ "properties": {
+ "vmwareSiteId": {
+ "description": "The ARM Id of the VMware site.",
+ "type": "string",
+ "readOnly": true
+ },
+ "migrationSolutionId": {
+ "description": "The Migration solution ARM Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceEndpoint": {
+ "description": "The service endpoint.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "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 indicating 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,
+ "x-ms-parameter-location": "client",
+ "type": "string"
+ },
+ "ResourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the recovery services vault.",
+ "required": true,
+ "x-ms-parameter-location": "client",
+ "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"
+ ]
+ }
+ ]
+}
diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.md b/specification/recoveryservicessiterecovery/resource-manager/readme.md
index f2cb49c66304..d2ea86fd9313 100644
--- a/specification/recoveryservicessiterecovery/resource-manager/readme.md
+++ b/specification/recoveryservicessiterecovery/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for RecoveryServicesSiteRecovery.
-
-
---
+
## Getting Started
+
To build the SDK for RecoveryServicesSiteRecovery, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,20 +15,29 @@ To build the SDK for RecoveryServicesSiteRecovery, simply [Install AutoRest](htt
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the RecoveryServicesSiteRecovery API.
``` yaml
openapi-type: arm
-tag: package-2018-01
+tag: package-2018-07
```
+
+### Tag: package-2018-07
+
+These settings apply only when `--tag=package-2018-07` is specified on the command line.
+
+```yaml $(tag) == 'package-2018-07'
+input-file:
+ - Microsoft.RecoveryServices/stable/2018-07-10/service.json
+```
### Tag: package-2016-08
These settings apply only when `--tag=package-2018-01` is specified on the command line.
@@ -48,8 +57,8 @@ input-file:
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -68,13 +77,12 @@ swagger-to-sdk:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_recovery_services_site_recovery']
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
Please also specify `--csharp-sdks-folder=`.
-```yaml $(csharp)
+``` yaml $(csharp)
csharp:
azure-arm: true
payload-flattening-threshold: 0
@@ -121,5 +129,3 @@ java:
regenerate-manager: true
generate-interface: true
```
-
-
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/ResourceHealth.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/ResourceHealth.json
new file mode 100644
index 000000000000..e62ea782715c
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/ResourceHealth.json
@@ -0,0 +1,1141 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-07-01-preview",
+ "title": "Microsoft.ResourceHealth",
+ "description": "The Resource Health Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "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.ResourceHealth/events": {
+ "get": {
+ "tags": [
+ "Events"
+ ],
+ "operationId": "Events_ListBySubscriptionId",
+ "description": "Lists current service health events in the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of current service health events in the subscription",
+ "schema": {
+ "$ref": "#/definitions/events"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListEventsBySubscriptionId": {
+ "$ref": "./examples/Events_ListBySubscriptionId.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.ResourceHealth/events": {
+ "get": {
+ "tags": [
+ "Events"
+ ],
+ "operationId": "Events_ListBySingleResource",
+ "description": "Lists current service health events for given resource.",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API support not nested and one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name} and /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of current service health events for given resource",
+ "schema": {
+ "$ref": "#/definitions/events"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListEventsBySingleResource": {
+ "$ref": "./examples/Events_ListBySingleResource.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/impactedResources": {
+ "get": {
+ "tags": [
+ "ImpactedResources"
+ ],
+ "operationId": "ImpactedResources_ListBySubscriptionId",
+ "description": "Lists the current availability status for impacted resources in the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of current availability status for impacted resources in the subscription",
+ "schema": {
+ "$ref": "#/definitions/impactedResourceListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListHealthBySubscriptionId": {
+ "$ref": "./examples/ImpactedResources_ListBySubscriptionId.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses": {
+ "get": {
+ "tags": [
+ "AvailabilityStatuses"
+ ],
+ "operationId": "AvailabilityStatuses_ListBySubscriptionId",
+ "description": "Lists the current availability status for all the resources in the subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of current availability status for all the resources in the subscription",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatusListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListHealthBySubscriptionId": {
+ "$ref": "./examples/AvailabilityStatuses_ListBySubscriptionId.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ResourceHealth/availabilityStatuses": {
+ "get": {
+ "tags": [
+ "AvailabilityStatuses"
+ ],
+ "operationId": "AvailabilityStatuses_ListByResourceGroup",
+ "description": "Lists the current availability status for all the resources in the resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of current availability status for all the resources in the resource group",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatusListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListByResourceGroup": {
+ "$ref": "./examples/AvailabilityStatuses_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses/current": {
+ "get": {
+ "tags": [
+ "AvailabilityStatuses"
+ ],
+ "operationId": "AvailabilityStatuses_GetByResource",
+ "description": "Gets current availability status for a single resource",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API support not nested and one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name} and /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The current availability status for a single resource",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatus"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetCurrentHealthByResource": {
+ "$ref": "./examples/AvailabilityStatus_GetByResource.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.ResourceHealth/availabilityStatuses": {
+ "get": {
+ "tags": [
+ "AvailabilityStatuses"
+ ],
+ "operationId": "AvailabilityStatuses_List",
+ "description": "Lists all historical availability transitions and impacting events for a single resource.",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API support not nested and one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name} and /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of historical availability statuses for a single resource",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatusListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetHealthHistoryByResource": {
+ "$ref": "./examples/AvailabilityStatuses_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.ResourceHealth/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists available operations for the resourcehealth resource provider",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of available operations for the resourcehealth resource provider",
+ "schema": {
+ "$ref": "#/definitions/operationListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "events": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/event"
+ },
+ "description": "The list of event."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of events. Call ListNext() with this URI to fetch the next page of events."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List events operation response."
+ },
+ "event": {
+ "type": "object",
+ "description": "Service health event",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "description": "Properties of event.",
+ "properties": {
+ "eventType": {
+ "type": "string",
+ "description": "Type of event.",
+ "enum": [
+ "ServiceIssue",
+ "PlannedMaintenance",
+ "HealthAdvisory",
+ "RCA"
+ ],
+ "x-ms-enum": {
+ "name": "EventTypeValues",
+ "modelAsString": true
+ }
+ },
+ "eventSource": {
+ "type": "string",
+ "description": "Source of event.",
+ "enum": [
+ "ResourceHealth",
+ "ServiceHealth"
+ ],
+ "x-ms-enum": {
+ "name": "EventSourceValues",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "type": "string",
+ "description": "Current status of event.",
+ "enum": [
+ "Active",
+ "Resolved"
+ ],
+ "x-ms-enum": {
+ "name": "EventStatusValues",
+ "modelAsString": true
+ }
+ },
+ "title": {
+ "type": "string",
+ "description": "Title text of event."
+ },
+ "summary": {
+ "type": "string",
+ "description": "Summary text of event."
+ },
+ "header": {
+ "type": "string",
+ "description": "Header text of event."
+ },
+ "level": {
+ "type": "string",
+ "description": "Level of insight.",
+ "enum": [
+ "Critical",
+ "Warning"
+ ],
+ "x-ms-enum": {
+ "name": "LevelValues",
+ "modelAsString": true
+ }
+ },
+ "eventLevel": {
+ "type": "string",
+ "description": "Level of event.",
+ "enum": [
+ "Critical",
+ "Warning",
+ "Informational"
+ ],
+ "x-ms-enum": {
+ "name": "EventLevelValues",
+ "modelAsString": true
+ }
+ },
+ "article": {
+ "type": "object",
+ "description": "Article of event.",
+ "properties": {
+ "articleContent": {
+ "type": "string",
+ "description": "Article content of event."
+ }
+ }
+ },
+ "links": {
+ "type": "array",
+ "description": "Useful links of event.",
+ "items": {
+ "$ref": "#/definitions/link"
+ }
+ },
+ "impactStartTime": {
+ "type": "string",
+ "description": "It provides the Timestamp for when the health impacting event started.",
+ "format": "date-time"
+ },
+ "impactMitigationTime": {
+ "type": "string",
+ "description": "It provides the Timestamp for when the health impacting event resolved.",
+ "format": "date-time"
+ },
+ "impact": {
+ "type": "array",
+ "description": "List services impacted by the service health event.",
+ "items": {
+ "$ref": "#/definitions/impact"
+ }
+ },
+ "recommendedActions": {
+ "type": "object",
+ "description": "Recommended actions of event.",
+ "properties": {
+ "message": {
+ "type": "string",
+ "description": "Recommended action title for the service health event."
+ },
+ "actions": {
+ "type": "array",
+ "description": "Recommended actions for the service health event.",
+ "items": {
+ "type": "object",
+ "description": "Recommended action for the service health event.",
+ "properties": {
+ "groupId": {
+ "type": "integer",
+ "description": "Recommended action group Id for the service health event."
+ },
+ "actionText": {
+ "type": "string",
+ "description": "Recommended action text"
+ }
+ }
+ }
+ },
+ "localeCode": {
+ "type": "string",
+ "description": "Recommended action locale for the service health event."
+ }
+ }
+ },
+ "faqs": {
+ "type": "array",
+ "description": "Frequently asked questions for the service health event.",
+ "items": {
+ "$ref": "#/definitions/faq"
+ }
+ },
+ "isHIR": {
+ "type": "boolean",
+ "description": "It provides information if the event is High incident rate event or not."
+ },
+ "enableMicrosoftSupport": {
+ "type": "boolean",
+ "description": "Tells if we want to enable or disable Microsoft Support for this event."
+ },
+ "enableChatWithUs": {
+ "type": "boolean",
+ "description": "Tells if we want to enable or disable Microsoft Support for this event."
+ },
+ "priority": {
+ "type": "integer",
+ "description": "Priority level of the event."
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "description": "It provides the Timestamp for when the health impacting event was last updated.",
+ "format": "date-time"
+ },
+ "hirStage": {
+ "type": "string",
+ "description": "Stage for HIR Document"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "link": {
+ "description": "Useful links for service health event.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Type of link.",
+ "enum": [
+ "Button",
+ "Hyperlink"
+ ],
+ "x-ms-enum": {
+ "name": "LinkTypeValues",
+ "modelAsString": true
+ }
+ },
+ "displayText": {
+ "type": "object",
+ "description": "Display text of link.",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Display text of link."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "Localized display text of link."
+ }
+ }
+ },
+ "extensionName": {
+ "type": "string",
+ "description": "It provides the name of portal extension to produce link for given service health event."
+ },
+ "bladeName": {
+ "type": "string",
+ "description": "It provides the name of portal extension blade to produce link for given service health event."
+ },
+ "parameters": {
+ "type": "object",
+ "description": "It provides a map of parameter name and value for portal extension blade to produce lik for given service health event."
+ }
+ }
+ },
+ "faq": {
+ "description": "Frequently asked question for the service health event",
+ "properties": {
+ "question": {
+ "type": "string",
+ "description": "FAQ question for the service health event."
+ },
+ "answer": {
+ "type": "string",
+ "description": "FAQ answer for the service health event."
+ },
+ "localeCode": {
+ "type": "string",
+ "description": "FAQ locale for the service health event."
+ }
+ }
+ },
+ "impact": {
+ "description": "Azure service impacted by the service health event.",
+ "properties": {
+ "impactedService": {
+ "type": "string",
+ "description": "Impacted service name."
+ },
+ "impactedRegions": {
+ "type": "array",
+ "description": "List regions impacted by the service health event.",
+ "items": {
+ "$ref": "#/definitions/impactedServiceRegion"
+ }
+ }
+ }
+ },
+ "impactedServiceRegion": {
+ "description": "Azure region impacted by the service health event.",
+ "properties": {
+ "impactedRegion": {
+ "type": "string",
+ "description": "Impacted region name."
+ },
+ "status": {
+ "type": "string",
+ "description": "Current status of event in the region.",
+ "enum": [
+ "Active",
+ "Resolved"
+ ],
+ "x-ms-enum": {
+ "name": "EventStatusValues",
+ "modelAsString": true
+ }
+ },
+ "impactedSubscriptions": {
+ "type": "array",
+ "description": "List subscription impacted by the service health event.",
+ "items": {
+ "type": "string",
+ "description": "Subscription impacted by the service health event."
+ }
+ },
+ "lastUpdateTime": {
+ "type": "string",
+ "description": "It provides the Timestamp for when the last update for the service health event.",
+ "format": "date-time"
+ },
+ "updates": {
+ "type": "array",
+ "description": "List of updates for given service health event.",
+ "items": {
+ "$ref": "#/definitions/update"
+ }
+ }
+ }
+ },
+ "update": {
+ "description": "Update for service health event.",
+ "properties": {
+ "summary": {
+ "type": "string",
+ "description": "Summary text for the given update for the service health event."
+ },
+ "updateDateTime": {
+ "type": "string",
+ "description": "It provides the Timestamp for the given update for the service health event.",
+ "format": "date-time"
+ }
+ }
+ },
+ "impactedResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/impactedResourceStatus"
+ },
+ "description": "The list of impactedResourceStatus."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of impactedResourceStatus."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List impactedResourceStatus operation response."
+ },
+ "impactedResourceStatus": {
+ "type": "object",
+ "description": "impactedResource with health status",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "description": "Properties of impacted resource status.",
+ "properties": {
+ "availabilityState": {
+ "type": "string",
+ "description": "Impacted resource status of the resource.",
+ "enum": [
+ "Available",
+ "Unavailable",
+ "Degraded",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "AvailabilityStateValues",
+ "modelAsString": true
+ }
+ },
+ "title": {
+ "type": "string",
+ "description": "Title description of the impacted resource status."
+ },
+ "summary": {
+ "type": "string",
+ "description": "Summary description of the impacted resource status."
+ },
+ "reasonType": {
+ "type": "string",
+ "description": "When the resource's availabilityState is Unavailable, it describes where the health impacting event was originated.",
+ "enum": [
+ "Unplanned",
+ "Planned",
+ "UserInitiated"
+ ],
+ "x-ms-enum": {
+ "name": "ReasonTypeValues",
+ "modelAsString": true
+ }
+ },
+ "occuredTime": {
+ "type": "string",
+ "description": "Timestamp for when last change in health status occurred.",
+ "format": "date-time"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "availabilityStatusListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/availabilityStatus"
+ },
+ "description": "The list of availabilityStatuses."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of availabilityStatuses. Call ListNext() with this URI to fetch the next page of availabilityStatuses."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List availabilityStatus operation response."
+ },
+ "availabilityStatus": {
+ "type": "object",
+ "description": "availabilityStatus of a resource.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Azure Resource Manager Identity for the availabilityStatuses resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "current."
+ },
+ "type": {
+ "type": "string",
+ "description": "Microsoft.ResourceHealth/AvailabilityStatuses."
+ },
+ "location": {
+ "type": "string",
+ "description": "Azure Resource Manager geo location of the resource."
+ },
+ "properties": {
+ "type": "object",
+ "description": "Properties of availability state.",
+ "properties": {
+ "availabilityState": {
+ "type": "string",
+ "description": "Availability status of the resource. When it is null, this availabilityStatus object represents an availability impacting event",
+ "enum": [
+ "Available",
+ "Unavailable",
+ "Degraded",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "AvailabilityStateValues",
+ "modelAsString": true
+ }
+ },
+ "summary": {
+ "type": "string",
+ "description": "Summary description of the availability status."
+ },
+ "detailedStatus": {
+ "type": "string",
+ "description": "Details of the availability status."
+ },
+ "reasonType": {
+ "type": "string",
+ "description": "When the resource's availabilityState is Unavailable, it describes where the health impacting event was originated. Examples are planned, unplanned, user initiated or an outage etc."
+ },
+ "rootCauseAttributionTime": {
+ "type": "string",
+ "description": "When the resource's availabilityState is Unavailable, it provides the Timestamp for when the health impacting event was received.",
+ "format": "date-time"
+ },
+ "healthEventType": {
+ "type": "string",
+ "description": "In case of an availability impacting event, it describes when the health impacting event was originated. Examples are Lifecycle, Downtime, Fault Analysis etc."
+ },
+ "healthEventCause": {
+ "type": "string",
+ "description": "In case of an availability impacting event, it describes where the health impacting event was originated. Examples are PlatformInitiated, UserInitiated etc."
+ },
+ "healthEventCategory": {
+ "type": "string",
+ "description": "In case of an availability impacting event, it describes the category of a PlatformInitiated health impacting event. Examples are Planned, Unplanned etc."
+ },
+ "healthEventId": {
+ "type": "string",
+ "description": "It is a unique Id that identifies the event"
+ },
+ "resolutionETA": {
+ "type": "string",
+ "description": "When the resource's availabilityState is Unavailable and the reasonType is not User Initiated, it provides the date and time for when the issue is expected to be resolved.",
+ "format": "date-time"
+ },
+ "occuredTime": {
+ "type": "string",
+ "description": "Timestamp for when last change in health status occurred.",
+ "format": "date-time"
+ },
+ "reasonChronicity": {
+ "type": "string",
+ "description": "Chronicity of the availability transition.",
+ "enum": [
+ "Transient",
+ "Persistent"
+ ],
+ "x-ms-enum": {
+ "name": "reasonChronicityTypes",
+ "modelAsString": true
+ }
+ },
+ "reportedTime": {
+ "type": "string",
+ "description": "Timestamp for when the health was last checked. ",
+ "format": "date-time"
+ },
+ "recentlyResolved": {
+ "type": "object",
+ "description": "An annotation describing a change in the availabilityState to Available from Unavailable with a reasonType of type Unplanned",
+ "properties": {
+ "unavailableOccurredTime": {
+ "type": "string",
+ "description": "Timestamp for when the availabilityState changed to Unavailable",
+ "format": "date-time"
+ },
+ "resolvedTime": {
+ "type": "string",
+ "description": "Timestamp when the availabilityState changes to Available.",
+ "format": "date-time"
+ },
+ "unavailabilitySummary": {
+ "type": "string",
+ "description": "Brief description of cause of the resource becoming unavailable."
+ }
+ }
+ },
+ "recommendedActions": {
+ "type": "array",
+ "description": "Lists actions the user can take based on the current availabilityState of the resource.",
+ "items": {
+ "$ref": "#/definitions/recommendedAction"
+ }
+ },
+ "serviceImpactingEvents": {
+ "type": "array",
+ "description": "Lists the service impacting events that may be affecting the health of the resource.",
+ "items": {
+ "$ref": "#/definitions/serviceImpactingEvent"
+ }
+ }
+ }
+ }
+ }
+ },
+ "recommendedAction": {
+ "description": "Lists actions the user can take based on the current availabilityState of the resource.",
+ "properties": {
+ "action": {
+ "type": "string",
+ "description": "Recommended action."
+ },
+ "actionUrl": {
+ "type": "string",
+ "description": "Link to the action"
+ },
+ "actionUrlText": {
+ "type": "string",
+ "description": "Substring of action, it describes which text should host the action url."
+ }
+ }
+ },
+ "serviceImpactingEvent": {
+ "description": "Lists the service impacting events that may be affecting the health of the resource.",
+ "properties": {
+ "eventStartTime": {
+ "type": "string",
+ "description": "Timestamp for when the event started.",
+ "format": "date-time"
+ },
+ "eventStatusLastModifiedTime": {
+ "type": "string",
+ "description": "Timestamp for when event was submitted/detected.",
+ "format": "date-time"
+ },
+ "correlationId": {
+ "type": "string",
+ "description": "Correlation id for the event"
+ },
+ "status": {
+ "type": "object",
+ "description": "Status of the service impacting event.",
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Current status of the event"
+ }
+ }
+ },
+ "incidentProperties": {
+ "type": "object",
+ "description": "Properties of the service impacting event.",
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Title of the incident."
+ },
+ "service": {
+ "type": "string",
+ "description": "Service impacted by the event."
+ },
+ "region": {
+ "type": "string",
+ "description": "Region impacted by the event."
+ },
+ "incidentType": {
+ "type": "string",
+ "description": "Type of Event."
+ }
+ }
+ }
+ }
+ },
+ "operationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/operation"
+ },
+ "description": "List of operations available in the resourcehealth resource provider."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "Lists the operations response."
+ },
+ "operation": {
+ "description": "Operation available in the resourcehealth resource provider.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the operation."
+ },
+ "display": {
+ "type": "object",
+ "description": "Properties of the operation.",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Provider name."
+ },
+ "resource": {
+ "type": "string",
+ "description": "Resource name."
+ },
+ "operation": {
+ "type": "string",
+ "description": "Operation name."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation."
+ }
+ }
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": 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."
+ },
+ "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"
+ },
+ "FilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. For more information please see https://docs.microsoft.com/en-us/rest/api/apimanagement/apis?redirectedfrom=MSDN",
+ "x-ms-parameter-location": "method"
+ },
+ "ExpandParameter": {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Setting $expand=recommendedactions in url query expands the recommendedactions in the response.",
+ "x-ms-parameter-location": "method"
+ },
+ "EventIdParameter": {
+ "name": "eventId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "EventId for the Service health event"
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatus_GetByResource.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatus_GetByResource.json
new file mode 100644
index 000000000000..6433edfd92ba
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatus_GetByResource.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "resourceUri":"resourceUri",
+ "api-version": "2015-01-01",
+ "$expand": "recommendedactions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.ClassicCompute/virtualMachines /rhctestenvV1PI/providers/Microsoft.ResourceHealth/availabilityStatuses/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "eastus",
+ "properties": {
+ "availabilityState": "Unavailable",
+ "summary": "We're sorry, we couldn't automatically recover your virtual machine",
+ "reasonType": "Unplanned",
+ "reasonChronicity": "Persistent",
+ "detailedStatus": "Disk problems are preventing us from automatically recovering your virtual machine",
+ "occuredTime": "2016-03-29T09:12:00Z",
+ "reportedTime": "2016-05-04T14:11:29.7598931Z",
+ "rootCauseAttributionTime": "2016-03-29T09:13:00Z",
+ "resolutionETA": "2016-03-29T09:37:00Z",
+ "recommendedActions": [{
+ "action": "To start this virtual machine, open the resource blade and click Start",
+ "actionUrl": "<#ResourceBlade>",
+ "actionUrlText": "resource blade"
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatuses_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatuses_List.json
new file mode 100644
index 000000000000..e601092b4695
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatuses_List.json
@@ -0,0 +1,58 @@
+{
+ "parameters":{
+ "resourceUri":"resourceUri",
+ "api-version":"2015-01-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "id":"/subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.ClassicCompute/virtualMachines/rhctes tenvV1PI/providers/Microsoft.ResourceHealth/availabilityStatuses/current",
+ "name":"current",
+ "type":"Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location":"eastus",
+ "properties":{
+ "availabilityState":"Unavailable",
+ "summary":"We're sorry, we couldn't automatically recover your virtual machine",
+ "reasonType":"Unplanned",
+ "reasonChronicity":"Persistent",
+ "detailedStatus":"Disk problems are preventing us from automatically recovering your virtual machine",
+ "occuredTime":"2016-03-29T09:12:00Z",
+ "reportedTime":"2016-05-04T14:11:29.7598931Z",
+ "rootCauseAttributionTime":"2016-03-29T09:13:00Z",
+ "resolutionETA":"2016-03-29T09:37:00Z",
+ "serviceImpactingEvents": [{
+ "eventStartTime":"2016-05-02T19:23:13.7115125Z",
+ "eventStatusLastModifiedTime":"2016-05-02T19:27:04.9543491Z",
+ "correlationId":"b56d0180-2d6c-4f7b-b750-c1eca681874c",
+ "status":{
+ "value":"Resolved"
+ },
+ "incidentProperties":{
+ "title":"Virtual Machines - West Europe [West Europe]",
+ "service":"Virtual Machines",
+ "region":"East US",
+ "incidentType":"outage"
+ }
+ }]
+ }
+ },
+ {
+ "id":"/subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.ClassicCompute/virtualMachines/rhctes tenvV1PI/providers/Microsoft.ResourceHealth/availabilityStatuses/2016-03-28+16%3a23%3a00Z",
+ "name":"2016-03-28+16%3a23%3a00Z",
+ "type":"Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location":"eastus",
+ "properties":{
+ "availabilityState":"Available",
+ "summary":"This virtual machine is running normally",
+ "reasonChronicity":"Persistent",
+ "detailedStatus":"There aren’t any known Azure platform problems affecting this virtual machine",
+ "occuredTime":"2016-03-28T16:23:00Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatuses_ListByResourceGroup.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatuses_ListByResourceGroup.json
new file mode 100644
index 000000000000..e32ebc96da73
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatuses_ListByResourceGroup.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "api-version": "2015-01-01",
+ "$expand": "recommendedactions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [{
+ "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "eastus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "Vm is available",
+ "reasonType": "Unplanned",
+ "reasonChronicity": "Persistent",
+ "detailedStatus": "We have not seen any issues with your virtual machine",
+ "occuredTime": "2016-03-29T09:12:00Z",
+ "reportedTime": "2016-05-04T14:11:29.7598931Z",
+ "recentlyResolved": {
+ "unavailableOccurredTime": "2017-02-28T00:48:00Z",
+ "resolvedTime": "2017-02-28T00:49:00Z",
+ "unavailabilitySummary": "We are sorry your SQL database is unavailable"
+ },
+ "recommendedActions": [{
+ "action": "To start this virtualmachine, open the resource blade and click Start",
+ "actionUrl": "<#ResourceBlade>",
+ "actionUrlText": "resourceblade"
+ }]
+ }
+ },
+ {
+ "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "eastus",
+ "properties": {
+ "availabilityState": "Unavailable",
+ "summary": "We are sorry, we couldn't automatically recovery our virtualmachine",
+ "reasonType": "Unplanned",
+ "reasonChronicity": "Persistent",
+ "detailedStatus": "Diskproblemsarepreventingusfromautomaticallyrecoveringyourvirtualmachine",
+ "occuredTime": "2016-03-29T09:12:00Z",
+ "reportedTime": "2016-05-04T14:11:29.7598931Z",
+ "rootCauseAttributionTime": "2016-03-29T09:13:00Z",
+ "resolutionETA": "2016-03-29T09:37:00Z",
+ "recommendedActions": [{
+ "action": "To start this virtualmachine, open the resource blade",
+ "actionUrl": "<#ResourceBlade>",
+ "actionUrlText": "resourceblade"
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contactsupport"
+ }]
+ }
+ }],
+ "nextLink": "{originalRequestUrl}?$skipToken={OpaquePageNumber}"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatuses_ListBySubscriptionId.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatuses_ListBySubscriptionId.json
new file mode 100644
index 000000000000..84e383593cbc
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/AvailabilityStatuses_ListBySubscriptionId.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "api-version": "2015-01-01",
+ "$expand": "recommendedactions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [{
+ "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "eastus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "Vm is available",
+ "reasonType": "Unplanned",
+ "reasonChronicity": "Persistent",
+ "detailedStatus": "We have not seen any issues with your virtual machine",
+ "occuredTime": "2016-03-29T09:12:00Z",
+ "reportedTime": "2016-05-04T14:11:29.7598931Z",
+ "recentlyResolved": {
+ "unavailableOccurredTime": "2017-02-28T00:48:00Z",
+ "resolvedTime": "2017-02-28T00:49:00Z",
+ "unavailabilitySummary": "We are sorry your SQL database is unavailable"
+ },
+ "recommendedActions": [{
+ "action": "To start this virtualmachine, open the resource blade and click Start",
+ "actionUrl": "<#ResourceBlade>",
+ "actionUrlText": "resourceblade"
+ }]
+ }
+ },
+ {
+ "id": "/providers/Microsoft.ResourceHealth/AvailabilityStatueses/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "eastus",
+ "properties": {
+ "availabilityState": "Unavailable",
+ "summary": "We are sorry, we couldn't automatically recovery our virtualmachine",
+ "reasonType": "Unplanned",
+ "reasonChronicity": "Persistent",
+ "detailedStatus": "Diskproblemsarepreventingusfromautomaticallyrecoveringyourvirtualmachine",
+ "occuredTime": "2016-03-29T09:12:00Z",
+ "reportedTime": "2016-05-04T14:11:29.7598931Z",
+ "rootCauseAttributionTime": "2016-03-29T09:13:00Z",
+ "resolutionETA": "2016-03-29T09:37:00Z",
+ "recommendedActions": [{
+ "action": "To start this virtualmachine, open the resource blade",
+ "actionUrl": "<#ResourceBlade>",
+ "actionUrlText": "resourceblade"
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contactsupport"
+ }]
+ }
+ }],
+ "nextLink": "{originalRequestUrl}?$skipToken={OpaquePageNumber}"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/Events_ListBySingleResource.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/Events_ListBySingleResource.json
new file mode 100644
index 000000000000..bf54ed013abe
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/Events_ListBySingleResource.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/4abcdefgh-ijkl-mnop-qrstuvwxyz/resourceGroups/rhctestenv/providers/Microsoft.Compute/virtualMachines/rhctestenvV1PI",
+ "api-version": "2018-07-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.ResourceHealth/events/BC_1-FXZ",
+ "name": "BC_1-FXZ",
+ "type": "/providers/Microsoft.ResourceHealth/events",
+ "properties": {
+ "eventType": "ServiceIssue",
+ "eventSource": "ResourceHealth",
+ "status": "Active",
+ "title": "ACTIVE: Virtual machines in West US",
+ "summary": "An outage alert is being investigated. More information will be provided as it is known.",
+ "header": "Your service might have been impacted by an Azure service issue",
+ "article": {
+ "articleContent": "An outage alert is being investigated. More information will be provided as it is known"
+ },
+ "links": [
+ {
+ "type": "Hyperlink",
+ "displayText": {
+ "value": "Request RCA",
+ "localizedValue": "Request RCA"
+ },
+ "extensionName": "Microsoft_Azure_Health",
+ "bladeName": "RequestRCABlade",
+ "parameters": {
+ "trackingId": "BC_1-FXZ",
+ "rcaRequested": "False"
+ }
+ },
+ {
+ "type": "Button",
+ "displayText": {
+ "value": "Sign up for updates",
+ "localizedValue": "Sign up for updates"
+ },
+ "extensionName": "Microsoft_Azure_Health",
+ "bladeName": "AzureHealthBrowseBlade",
+ "parameters": {
+ "trackingId": "BC_1-FXZ"
+ }
+ }
+ ],
+ "level": "Warning",
+ "eventLevel": "Informational",
+ "impactStartTime": "2018-11-07T00:00:00Z",
+ "impactMitigationTime": "2018-11-08T00:00:00Z",
+ "impact": [
+ {
+ "impactedService": "Virtual Machines",
+ "impactedRegions": [
+ {
+ "impactedRegion": "West US",
+ "status": "Active",
+ "impactedSubscriptions": [
+ "{subscriptionId}"
+ ],
+ "lastUpdateTime": "2017-12-05T21:05:00Z"
+ }
+ ]
+ }
+ ],
+ "recommendedActions": {
+ "message": "Recommended actions title",
+ "actions": [
+ {
+ "groupId": "23243",
+ "actionText": "action 1"
+ },
+ {
+ "groupId": "23432",
+ "actionText": "action 2"
+ }
+ ],
+ "localeCode": "en"
+ },
+ "faqs": [
+ {
+ "question": "This is a question",
+ "answer": "This is an answer",
+ "localeCode": "en"
+ }
+ ],
+ "isHIR": false,
+ "enableMicrosoftSupport": true,
+ "enableChatWithUs": false,
+ "priority": 2,
+ "lastUpdateTime": "2018-11-08T00:00:00Z",
+ "hirStage": "active"
+ }
+ }
+ ],
+ "nextLink": "{originalRequestUrl}?$skipToken={OpaquePageNumber}"
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/Events_ListBySubscriptionId.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/Events_ListBySubscriptionId.json
new file mode 100644
index 000000000000..255cce6f6ec3
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/Events_ListBySubscriptionId.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "api-version": "2018-07-01-preview",
+ "$filter": "service eq 'Virtual Machines' or region eq 'West US'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.ResourceHealth/events/BC_1-FXZ",
+ "name": "BC_1-FXZ",
+ "type": "/providers/Microsoft.ResourceHealth/events",
+ "properties": {
+ "eventType": "ServiceIssue",
+ "eventSource": "ResourceHealth",
+ "status": "Active",
+ "title": "ACTIVE: Virtual machines in West US",
+ "summary": "An outage alert is being investigated. More information will be provided as it is known.",
+ "header": "Your service might have been impacted by an Azure service issue",
+ "article": {
+ "articleContent": "An outage alert is being investigated. More information will be provided as it is known"
+ },
+ "links": [
+ {
+ "type": "Hyperlink",
+ "displayText": {
+ "value": "Request RCA",
+ "localizedValue": "Request RCA"
+ },
+ "extensionName": "Microsoft_Azure_Health",
+ "bladeName": "RequestRCABlade",
+ "parameters": {
+ "trackingId": "BC_1-FXZ",
+ "rcaRequested": "False"
+ }
+ },
+ {
+ "type": "Button",
+ "displayText": {
+ "value": "Sign up for updates",
+ "localizedValue": "Sign up for updates"
+ },
+ "extensionName": "Microsoft_Azure_Health",
+ "bladeName": "AzureHealthBrowseBlade",
+ "parameters": {
+ "trackingId": "BC_1-FXZ"
+ }
+ }
+ ],
+ "level": "Warning",
+ "eventLevel": "Informational",
+ "impactStartTime": "2018-11-07T00:00:00Z",
+ "impactMitigationTime": "2018-11-08T00:00:00Z",
+ "impact": [
+ {
+ "impactedService": "Virtual Machines",
+ "impactedRegions": [
+ {
+ "impactedRegion": "West US",
+ "status": "Active",
+ "impactedSubscriptions": [
+ "{subscriptionId}"
+ ],
+ "lastUpdateTime": "2017-12-05T21:05:00Z"
+ }
+ ]
+ }
+ ],
+ "recommendedActions": {
+ "message": "Recommended actions title",
+ "actions": [
+ {
+ "groupId": "23243",
+ "actionText": "action 1"
+ },
+ {
+ "groupId": "23432",
+ "actionText": "action 2"
+ }
+ ],
+ "localeCode": "en"
+ },
+ "faqs": [
+ {
+ "question": "This is a question",
+ "answer": "This is an answer",
+ "localeCode": "en"
+ }
+ ],
+ "isHIR": false,
+ "enableMicrosoftSupport": true,
+ "enableChatWithUs": false,
+ "priority": 2,
+ "lastUpdateTime": "2018-11-08T00:00:00Z",
+ "hirStage": "resolved"
+ }
+ }
+ ],
+ "nextLink": "{originalRequestUrl}?$skipToken={OpaquePageNumber}"
+ }
+ }
+ }
+}
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/ImpactedResources_ListBySubscriptionId.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/ImpactedResources_ListBySubscriptionId.json
new file mode 100644
index 000000000000..5470e0ae291c
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/preview/2018-08-01/examples/ImpactedResources_ListBySubscriptionId.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "api-version": "2018-07-01-preview",
+ "$filter": "service eq 'Virtual Machines' or region eq 'West US'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.ResourceHealth/impactedResources/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/impactedResources",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "Vm is available",
+ "reasonType": "Unplanned",
+ "occuredTime": "2016-03-29T09:12:00Z"
+ }
+ },
+ {
+ "id": "/providers/Microsoft.ResourceHealth/impactedResources/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/impactedResources",
+ "properties": {
+ "availabilityState": "Unavailable",
+ "summary": "We are sorry, we couldn't automatically recovery our virtualmachine",
+ "reasonType": "Unplanned",
+ "occuredTime": "2016-03-29T09:12:00Z"
+ }
+ }
+ ],
+ "nextLink": "{originalRequestUrl}?$skipToken={OpaquePageNumber}"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/examples/ChildAvailabilityStatus_GetByResource.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/examples/ChildAvailabilityStatus_GetByResource.json
new file mode 100644
index 000000000000..15a75ad64031
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/examples/ChildAvailabilityStatus_GetByResource.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "resourceUri":"resourceUri",
+ "api-version": "2015-01-01",
+ "$expand": "recommendedactions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:44Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:19:11.955255Z",
+ "RecommendedActions": [{
+ "Action": "To start this virtual machine, open the resource blade and click Start",
+ "ActionUrl": "<#ResourceBlade>",
+ "ActionUrlText": "resource blade"
+ },
+ {
+ "Action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "ActionUrl": "<#SupportCase>",
+ "ActionUrlText": "contact support"
+ }]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/examples/ChildAvailabilityStatuses_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/examples/ChildAvailabilityStatuses_List.json
new file mode 100644
index 000000000000..915d7aca5c0e
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/examples/ChildAvailabilityStatuses_List.json
@@ -0,0 +1,149 @@
+{
+ "parameters":{
+ "resourceUri":"resourceUri",
+ "api-version":"2015-01-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "recommendedActions": [
+ {
+ "action": "If you're having problems, use the Troubleshoot tool to get recommended solutions.",
+ "actionUrl": "<#TroubleshootV2Blade>",
+ "actionUrlText": "Troubleshoot tool"
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-30T23:37:44Z",
+ "reasonChronicity": "Transient",
+ "reportedTime": "2018-12-05T19:45:45.6640838Z"
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/2018-11-30+23%3a36%3a03Z",
+ "name": "2018-11-30+23%3a36%3a03Z",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Unavailable",
+ "summary": "This virtual machine is rebooting as requested by an authorized user or process. It will be back online after the reboot completes.",
+ "detailedStatus": "",
+ "reasonType": "Customer Initiated",
+ "rootCauseAttributionTime": "2018-11-30T23:36:02.514Z",
+ "recommendedActions": [
+ {
+ "action": "Check back here for status updates",
+ "actionUrl": "",
+ "actionUrlText": ""
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-30T23:36:03Z",
+ "reasonChronicity": "Transient",
+ "resolutionETA": "2018-11-30T23:56:03Z"
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/2018-11-30+22%3a32%3a12Z",
+ "name": "2018-11-30+22%3a32%3a12Z",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "recommendedActions": [
+ {
+ "action": "If you're having problems, use the Troubleshoot tool to get recommended solutions.",
+ "actionUrl": "<#TroubleshootV2Blade>",
+ "actionUrlText": "Troubleshoot tool"
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-30T22:32:12Z",
+ "reasonChronicity": "Transient"
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/2018-11-30+22%3a30%3a23Z",
+ "name": "2018-11-30+22%3a30%3a23Z",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Unavailable",
+ "summary": "This virtual machine is rebooting as requested by an authorized user or process. It will be back online after the reboot completes.",
+ "detailedStatus": "",
+ "reasonType": "Customer Initiated",
+ "rootCauseAttributionTime": "2018-11-30T22:30:22.256Z",
+ "recommendedActions": [
+ {
+ "action": "Check back here for status updates",
+ "actionUrl": "",
+ "actionUrlText": ""
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-30T22:30:23Z",
+ "reasonChronicity": "Transient",
+ "resolutionETA": "2018-11-30T22:50:23Z"
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/2018-11-21+00%3a00%3a00Z",
+ "name": "2018-11-21+00%3a00%3a00Z",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "recommendedActions": [
+ {
+ "action": "If you're having problems, use the Troubleshoot tool to get recommended solutions.",
+ "actionUrl": "<#TroubleshootV2Blade>",
+ "actionUrlText": "Troubleshoot tool"
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-21T00:00:00Z",
+ "reasonChronicity": "Transient"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/examples/ChildResources_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/examples/ChildResources_List.json
new file mode 100644
index 000000000000..4583b7e15b39
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/examples/ChildResources_List.json
@@ -0,0 +1,94 @@
+{
+ "parameters":{
+ "resourceUri":"resourceUri",
+ "api-version":"2015-01-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/0/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_0",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:43Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/3/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_3",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:41Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/1/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_1",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:48Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/2/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_2",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:43Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_4",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:44Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/resourcehealth.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/resourcehealth.json
index 65286861885f..0e5e742ad659 100644
--- a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/resourcehealth.json
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2015-01-01/resourcehealth.json
@@ -221,6 +221,153 @@
}
}
},
+ "/{resourceUri}/providers/Microsoft.ResourceHealth/childAvailabilityStatuses/current": {
+ "get": {
+ "tags": [
+ "ChildAvailabilityStatuses"
+ ],
+ "operationId": "ChildAvailabilityStatuses_GetByResource",
+ "description": "Gets current availability status for a single resource",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API only support one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the current availability status for a single resource",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatus"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetCurrentHealthByResource": {
+ "$ref": "./examples/ChildAvailabilityStatus_GetByResource.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.ResourceHealth/childAvailabilityStatuses": {
+ "get": {
+ "tags": [
+ "ChildAvailabilityStatuses"
+ ],
+ "operationId": "ChildAvailabilityStatuses_List",
+ "description": "Lists the historical availability statuses for a single child resource. Use the nextLink property in the response to get the next page of availability status",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API only support one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of the historical availability statuses for a single child resource",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatusListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetHealthHistoryByResource": {
+ "$ref": "./examples/ChildAvailabilityStatuses_List.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.ResourceHealth/childResources": {
+ "get": {
+ "tags": [
+ "ChildResources"
+ ],
+ "operationId": "ChildResources_List",
+ "description": "Lists the all the children and its current health status for a parent resource. Use the nextLink property in the response to get the next page of children current health",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API only support not nested parent resource type: /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of the children's current availability statuses for a single resource which contains children",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatusListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetHealthHistoryByResource": {
+ "$ref": "./examples/ChildResources_List.json"
+ }
+ }
+ }
+ },
"/providers/Microsoft.ResourceHealth/operations": {
"get": {
"tags": [
@@ -351,6 +498,10 @@
"description": "Timestamp for when the health was last checked. ",
"format": "date-time"
},
+ "isArmResource": {
+ "type": "boolean",
+ "description": "flag to show if child resource need detail health. "
+ },
"recentlyResolvedState": {
"type": "object",
"description": "An annotation describing a change in the availabilityState to Available from Unavailable with a reasonType of type Unplanned",
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/ChildAvailabilityStatus_GetByResource.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/ChildAvailabilityStatus_GetByResource.json
new file mode 100644
index 000000000000..15a75ad64031
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/ChildAvailabilityStatus_GetByResource.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "resourceUri":"resourceUri",
+ "api-version": "2015-01-01",
+ "$expand": "recommendedactions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:44Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:19:11.955255Z",
+ "RecommendedActions": [{
+ "Action": "To start this virtual machine, open the resource blade and click Start",
+ "ActionUrl": "<#ResourceBlade>",
+ "ActionUrlText": "resource blade"
+ },
+ {
+ "Action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "ActionUrl": "<#SupportCase>",
+ "ActionUrlText": "contact support"
+ }]
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/ChildAvailabilityStatuses_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/ChildAvailabilityStatuses_List.json
new file mode 100644
index 000000000000..915d7aca5c0e
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/ChildAvailabilityStatuses_List.json
@@ -0,0 +1,149 @@
+{
+ "parameters":{
+ "resourceUri":"resourceUri",
+ "api-version":"2015-01-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/current",
+ "name": "current",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "recommendedActions": [
+ {
+ "action": "If you're having problems, use the Troubleshoot tool to get recommended solutions.",
+ "actionUrl": "<#TroubleshootV2Blade>",
+ "actionUrlText": "Troubleshoot tool"
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-30T23:37:44Z",
+ "reasonChronicity": "Transient",
+ "reportedTime": "2018-12-05T19:45:45.6640838Z"
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/2018-11-30+23%3a36%3a03Z",
+ "name": "2018-11-30+23%3a36%3a03Z",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Unavailable",
+ "summary": "This virtual machine is rebooting as requested by an authorized user or process. It will be back online after the reboot completes.",
+ "detailedStatus": "",
+ "reasonType": "Customer Initiated",
+ "rootCauseAttributionTime": "2018-11-30T23:36:02.514Z",
+ "recommendedActions": [
+ {
+ "action": "Check back here for status updates",
+ "actionUrl": "",
+ "actionUrlText": ""
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-30T23:36:03Z",
+ "reasonChronicity": "Transient",
+ "resolutionETA": "2018-11-30T23:56:03Z"
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/2018-11-30+22%3a32%3a12Z",
+ "name": "2018-11-30+22%3a32%3a12Z",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "recommendedActions": [
+ {
+ "action": "If you're having problems, use the Troubleshoot tool to get recommended solutions.",
+ "actionUrl": "<#TroubleshootV2Blade>",
+ "actionUrlText": "Troubleshoot tool"
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-30T22:32:12Z",
+ "reasonChronicity": "Transient"
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/2018-11-30+22%3a30%3a23Z",
+ "name": "2018-11-30+22%3a30%3a23Z",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Unavailable",
+ "summary": "This virtual machine is rebooting as requested by an authorized user or process. It will be back online after the reboot completes.",
+ "detailedStatus": "",
+ "reasonType": "Customer Initiated",
+ "rootCauseAttributionTime": "2018-11-30T22:30:22.256Z",
+ "recommendedActions": [
+ {
+ "action": "Check back here for status updates",
+ "actionUrl": "",
+ "actionUrlText": ""
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-30T22:30:23Z",
+ "reasonChronicity": "Transient",
+ "resolutionETA": "2018-11-30T22:50:23Z"
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/availabilityStatuses/2018-11-21+00%3a00%3a00Z",
+ "name": "2018-11-21+00%3a00%3a00Z",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "recommendedActions": [
+ {
+ "action": "If you're having problems, use the Troubleshoot tool to get recommended solutions.",
+ "actionUrl": "<#TroubleshootV2Blade>",
+ "actionUrlText": "Troubleshoot tool"
+ },
+ {
+ "action": "If you are experiencing problems you believe are caused by Azure, contact support",
+ "actionUrl": "<#SupportCase>",
+ "actionUrlText": "contact support"
+ }
+ ],
+ "occuredTime": "2018-11-21T00:00:00Z",
+ "reasonChronicity": "Transient"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/ChildResources_List.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/ChildResources_List.json
new file mode 100644
index 000000000000..4583b7e15b39
--- /dev/null
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/examples/ChildResources_List.json
@@ -0,0 +1,94 @@
+{
+ "parameters":{
+ "resourceUri":"resourceUri",
+ "api-version":"2015-01-01"
+ },
+ "responses":{
+ "200":{
+ "body":{
+ "value":[
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/0/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_0",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:43Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/3/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_3",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:41Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/1/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_1",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:48Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/2/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_2",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:43Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ },
+ {
+ "id": "/subscriptions/227b734f-e14f-4de6-b7fc-3190c21e69f6/resourceGroups/JUHACKETRHCTEST/providers/Microsoft.Compute/virtualMachineScaleSets/rhctest/virtualMachines/4/providers/Microsoft.ResourceHealth/child/availabilityStatuses/current",
+ "name": "rhctest_4",
+ "type": "Microsoft.ResourceHealth/AvailabilityStatuses",
+ "location": "southcentralus",
+ "properties": {
+ "availabilityState": "Available",
+ "summary": "There aren't any known Azure platform problems affecting this virtual machine",
+ "detailedStatus": "",
+ "reasonType": "",
+ "occuredTime": "2018-11-30T23:37:44Z",
+ "reasonChronicity": "Persistent",
+ "reportedTime": "2018-12-04T01:18:25.575477Z",
+ "isArmResource": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json
index 51cbc405f81f..36ba052e997d 100644
--- a/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json
+++ b/specification/resourcehealth/resource-manager/Microsoft.ResourceHealth/stable/2017-07-01/resourcehealth.json
@@ -221,6 +221,153 @@
}
}
},
+ "/{resourceUri}/providers/Microsoft.ResourceHealth/childAvailabilityStatuses/current": {
+ "get": {
+ "tags": [
+ "ChildAvailabilityStatuses"
+ ],
+ "operationId": "ChildAvailabilityStatuses_GetByResource",
+ "description": "Gets current availability status for a single resource",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API only support one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the current availability status for a single resource",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatus"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetCurrentHealthByResource": {
+ "$ref": "./examples/ChildAvailabilityStatus_GetByResource.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.ResourceHealth/childAvailabilityStatuses": {
+ "get": {
+ "tags": [
+ "ChildAvailabilityStatuses"
+ ],
+ "operationId": "ChildAvailabilityStatuses_List",
+ "description": "Lists the historical availability statuses for a single child resource. Use the nextLink property in the response to get the next page of availability status",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API only support one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of the historical availability statuses for a single child resource",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatusListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetHealthHistoryByResource": {
+ "$ref": "./examples/ChildAvailabilityStatuses_List.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.ResourceHealth/childResources": {
+ "get": {
+ "tags": [
+ "ChildResources"
+ ],
+ "operationId": "ChildResources_List",
+ "description": "Lists the all the children and its current health status for a parent resource. Use the nextLink property in the response to get the next page of children current health",
+ "parameters": [
+ {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API only support not nested parent resource type: /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name}",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/ExpandParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of the children's current availability statuses for a single resource which contains children",
+ "schema": {
+ "$ref": "#/definitions/availabilityStatusListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetHealthHistoryByResource": {
+ "$ref": "./examples/ChildResources_List.json"
+ }
+ }
+ }
+ },
"/providers/Microsoft.ResourceHealth/operations": {
"get": {
"tags": [
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/examples/CreateResourceGroup.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/examples/CreateResourceGroup.json
new file mode 100644
index 000000000000..312f1ceba2f5
--- /dev/null
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/examples/CreateResourceGroup.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-05-01",
+ "parameters": {
+ "location": "eastus"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup",
+ "name": "myResourceGroup",
+ "location": "eastus",
+ "properties": {
+ "provisioningState":"Succeeded"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup",
+ "name": "myResourceGroup",
+ "location": "eastus",
+ "properties": {
+ "provisioningState":"Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json
index e1fcaa1e7733..48e2023c77a2 100644
--- a/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json
+++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json
@@ -1014,6 +1014,9 @@
"tags": [
"ResourceGroups"
],
+ "x-ms-examples": {
+ "Create or update a resource group": { "$ref": "./examples/CreateResourceGroup.json" }
+ },
"operationId": "ResourceGroups_CreateOrUpdate",
"description": "Creates or updates a resource group.",
"parameters": [
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.json
index e59e7750943a..e798146ac944 100644
--- a/specification/resources/resource-manager/Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.json
+++ b/specification/resources/resource-manager/Microsoft.Solutions/preview/2016-09-01-preview/managedapplications.json
@@ -1351,7 +1351,7 @@
"description": "The appliance provider authorization."
},
"ErrorResponse": {
- "description": "Error reponse indicates ARM appliance is not able to process the incoming request. The reason is provided in the error message.",
+ "description": "Error response indicates ARM appliance is not able to process the incoming request. The reason is provided in the error message.",
"type": "object",
"properties": {
"httpStatus": {
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2017-09-01/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2017-09-01/managedapplications.json
index 1f8351a2d4ba..2a2c87730222 100644
--- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2017-09-01/managedapplications.json
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2017-09-01/managedapplications.json
@@ -1341,7 +1341,7 @@
"description": "The managed application provider authorization."
},
"ErrorResponse": {
- "description": "Error reponse indicates managed application is not able to process the incoming request. The reason is provided in the error message.",
+ "description": "Error response indicates managed application is not able to process the incoming request. The reason is provided in the error message.",
"type": "object",
"properties": {
"httpStatus": {
diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json
index 40504228b018..2702391b5df7 100644
--- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json
+++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json
@@ -1335,7 +1335,7 @@
"description": "The managed application provider authorization."
},
"ErrorResponse": {
- "description": "Error reponse indicates managed application is not able to process the incoming request. The reason is provided in the error message.",
+ "description": "Error response indicates managed application is not able to process the incoming request. The reason is provided in the error message.",
"type": "object",
"properties": {
"httpStatus": {
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexGetAutocomplete.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexAutocompleteDocumentsGet.json
similarity index 100%
rename from specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexGetAutocomplete.json
rename to specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexAutocompleteDocumentsGet.json
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexPostAutocomplete.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexAutocompleteDocumentsPost.json
similarity index 94%
rename from specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexPostAutocomplete.json
rename to specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexAutocompleteDocumentsPost.json
index 9bf10af1cee4..e693f6f07de8 100644
--- a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexPostAutocomplete.json
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexAutocompleteDocumentsPost.json
@@ -11,7 +11,7 @@
"highlightPostTag": "",
"highlightPreTag": "",
"minimumCoverage": 80,
- "searchFields": ["title", "description"],
+ "searchFields": "title,description",
"top": 10
}
},
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexGetDocument.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexGetDocument.json
new file mode 100644
index 000000000000..50738b071d51
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexGetDocument.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "searchServiceName": "myservice",
+ "searchDnsSuffix": "search.windows.net",
+ "indexName": "myindex",
+ "api-version": "2017-11-11-Preview",
+ "key": "1",
+ "$select": ["docId", "title", "description"]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "description": "Cheapest hotel in town",
+ "docId": "1",
+ "title": "Nice Hotel"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexIndexDocuments.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexIndexDocuments.json
new file mode 100644
index 000000000000..076914f9ebc2
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexIndexDocuments.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "searchServiceName": "myservice",
+ "searchDnsSuffix": "search.windows.net",
+ "indexName": "myindex",
+ "api-version": "2017-11-11-Preview",
+ "batch": {
+ "value": [
+ {
+ "@search.action": "upload",
+ "docId": "1",
+ "title": "Fancy Stay",
+ "description": "Best hotel in town"
+ },
+ {
+ "@search.action": "merge",
+ "docId": "2",
+ "title": "Roach Motel"
+ },
+ {
+ "@search.action": "mergeOrUpload",
+ "docId": "3",
+ "title": "Econo Motel"
+ },
+ {
+ "@search.action": "delete",
+ "docId": "4"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "key": "1",
+ "status": true,
+ "errorMessage": null,
+ "statusCode": 201
+ },
+ {
+ "key": "2",
+ "status": true,
+ "errorMessage": null,
+ "statusCode": 200
+ },
+ {
+ "key": "3",
+ "status": true,
+ "errorMessage": null,
+ "statusCode": 200
+ },
+ {
+ "key": "4",
+ "status": true,
+ "errorMessage": null,
+ "statusCode": 200
+ }
+ ]
+ }
+ },
+ "207": {
+ "body": {
+ "value": [
+ {
+ "key": "1",
+ "status": true,
+ "errorMessage": null,
+ "statusCode": 200
+ },
+ {
+ "key": "2",
+ "status": false,
+ "errorMessage": "Document not found.",
+ "statusCode": 404
+ },
+ {
+ "key": "3",
+ "status": true,
+ "errorMessage": null,
+ "statusCode": 200
+ },
+ {
+ "key": "4",
+ "status": true,
+ "errorMessage": null,
+ "statusCode": 200
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSearchDocumentsGet.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSearchDocumentsGet.json
new file mode 100644
index 000000000000..b9aa3a1733a0
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSearchDocumentsGet.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "searchServiceName": "myservice",
+ "searchDnsSuffix": "search.windows.net",
+ "indexName": "myindex",
+ "api-version": "2017-11-11-Preview",
+ "$count": true,
+ "facet": [ "category,count:10,sort:count" ],
+ "$filter": "rating gt 10",
+ "highlight": [ "title" ],
+ "highlightPostTag": "",
+ "highlightPreTag": "",
+ "minimumCoverage": 80,
+ "$orderby": [ "search.score() desc", "rating desc" ],
+ "queryType": "simple",
+ "scoringParameters": [ "currentLocation--122.123,44.77233" ],
+ "scoringProfile": "sp",
+ "search": "nice hotels",
+ "searchFields": [ "title", "description" ],
+ "searchMode": "any",
+ "$select": [ "docId", "title", "description" ],
+ "$skip": 100,
+ "$top": 10
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.count": 25,
+ "@search.coverage": 80,
+ "@search.facets": {
+ "category": [
+ {
+ "count": 1,
+ "value": "Economy"
+ },
+ {
+ "count": 1,
+ "value": "Luxury"
+ }
+ ]
+ },
+ "value": [
+ {
+ "@search.score": 1.50,
+ "@search.highlights": {
+ "title": [ "NiceHotel" ]
+ },
+ "description": "Cheapest hotel in town",
+ "docId": "1",
+ "title": "Nice Hotel"
+ },
+ {
+ "@search.score": 0.70,
+ "@search.highlights": {
+ "title": [ "Fancy Hotel" ]
+ },
+ "description": "Best hotel in town",
+ "docId": "2",
+ "title": "Fancy Hotel"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSearchDocumentsPost.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSearchDocumentsPost.json
new file mode 100644
index 000000000000..3fca0afb9ff9
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSearchDocumentsPost.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "searchServiceName": "myservice",
+ "searchDnsSuffix": "search.windows.net",
+ "indexName": "myindex",
+ "api-version": "2017-11-11-Preview",
+ "searchRequest": {
+ "count": true,
+ "facets": [ "category,count:10,sort:count" ],
+ "filter": "rating gt 4.0",
+ "highlight": "title",
+ "highlightPostTag": "",
+ "highlightPreTag": "",
+ "minimumCoverage": null,
+ "orderby": "search.score() desc,rating desc",
+ "queryType": "simple",
+ "scoringParameters": [ "currentLocation--122.123,44.77233" ],
+ "scoringProfile": "sp",
+ "search": "nice hotels",
+ "searchFields": "title,description",
+ "searchMode": "any",
+ "select": "docId,title,description",
+ "skip": 0,
+ "top": 10
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@odata.count": 25,
+ "@search.facets": {
+ "category": [
+ {
+ "count": 1,
+ "value": "Economy"
+ },
+ {
+ "count": 1,
+ "value": "Luxury"
+ }
+ ]
+ },
+ "@search.nextPageParameters": {
+ "count": true,
+ "facets": [ "category,count:10,sort:count" ],
+ "filter": "rating gt 4.0",
+ "highlight": "title",
+ "highlightPostTag": "",
+ "highlightPreTag": "",
+ "minimumCoverage": null,
+ "orderby": "search.score() desc,rating desc",
+ "queryType": "simple",
+ "scoringParameters": [ "currentLocation--122.123,44.77233" ],
+ "scoringProfile": "sp",
+ "search": "nice hotels",
+ "searchFields": "title,description",
+ "searchMode": "any",
+ "select": "docId,title,description",
+ "skip": 2,
+ "top": 8
+ },
+ "value": [
+ {
+ "@search.score": 1.50,
+ "@search.highlights": {
+ "title": [ "NiceHotel" ]
+ },
+ "description": "Cheapest hotel in town",
+ "docId": "1",
+ "title": "Nice Hotel"
+ },
+ {
+ "@search.score": 0.70,
+ "@search.highlights": {
+ "title": [ "Fancy Hotel" ]
+ },
+ "description": "Best hotel in town",
+ "docId": "2",
+ "title": "Fancy Hotel"
+ }
+ ],
+ "@odata.nextLink": "https://myservice.search.windows.net/indexes('myindex')/docs/search.post.search?api-version=2017-11-11-Preview"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSuggestDocumentsGet.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSuggestDocumentsGet.json
new file mode 100644
index 000000000000..22fd6cc70f26
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSuggestDocumentsGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "searchServiceName": "myservice",
+ "searchDnsSuffix": "search.windows.net",
+ "indexName": "myindex",
+ "api-version": "2017-11-11-Preview",
+ "$filter": "rating gt 10",
+ "fuzzy": false,
+ "highlightPostTag": "",
+ "highlightPreTag": "",
+ "minimumCoverage": 80,
+ "$orderby": ["search.score() desc", "rating desc"],
+ "search": "hote",
+ "searchFields": ["title"],
+ "suggesterName": "sg",
+ "$select": ["docId", "title", "description"],
+ "$top": 10
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "@search.text": "Nice Hotel",
+ "description": "Cheapest hotel in town",
+ "docId": "1",
+ "title": "Nice Hotel"
+ },
+ {
+ "@search.text": "Fancy Hotel",
+ "description": "Best hotel in town",
+ "docId": "2",
+ "title": "Fancy Hotel"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSuggestDocumentsPost.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSuggestDocumentsPost.json
new file mode 100644
index 000000000000..4802b4f82f20
--- /dev/null
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/examples/SearchIndexSuggestDocumentsPost.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "searchServiceName": "myservice",
+ "searchDnsSuffix": "search.windows.net",
+ "indexName": "myindex",
+ "api-version": "2017-11-11-Preview",
+ "suggestRequest": {
+ "filter": "rating gt 4.0",
+ "highlightPostTag": "",
+ "highlightPreTag": "",
+ "minimumCoverage": 80,
+ "orderby": "rating desc",
+ "search": "hote",
+ "searchFields": "title",
+ "select": "docId,title,description",
+ "top": 10
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "@search.text": "Nice Hotel",
+ "description": "Cheapest hotel in town",
+ "docId": "1",
+ "title": "Nice Hotel"
+ },
+ {
+ "@search.text": "Fancy Hotel",
+ "description": "Best hotel in town",
+ "docId": "2",
+ "title": "Fancy Hotel"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/searchindex.json b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/searchindex.json
index a1792858a7a3..9fe0df3e329f 100644
--- a/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/searchindex.json
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/preview/2017-11-11-preview/searchindex.json
@@ -34,16 +34,16 @@
"/docs/$count": {
"get": {
"tags": [
- "DocumentsProxy"
+ "Documents"
],
- "operationId": "DocumentsProxy_Count",
+ "operationId": "Documents_Count",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Count-Documents"
+ },
"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"
@@ -64,14 +64,567 @@
}
}
},
- "/docs/autocomplete": {
+ "/docs": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "operationId": "Documents_SearchGet",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents"
+ },
+ "x-ms-examples": {
+ "SearchIndexSearchDocumentsGet": { "$ref": "./examples/SearchIndexSearchDocumentsGet.json" }
+ },
+ "description": "Searches for documents in the Azure Search index.",
+ "parameters": [
+ {
+ "name": "search",
+ "in": "query",
+ "type": "string",
+ "description": "A full-text search query expression; Use \"*\" or omit this parameter to match all documents.",
+ "x-ms-client-name": "SearchText"
+ },
+ {
+ "name": "$count",
+ "in": "query",
+ "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.",
+ "x-nullable": false,
+ "x-ms-client-name": "IncludeTotalResultCount",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "facet",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi",
+ "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.",
+ "x-ms-client-name": "Facets",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "type": "string",
+ "description": "The OData $filter expression to apply to the search query.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "highlight",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting.",
+ "x-ms-client-name": "HighlightFields",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "highlightPostTag",
+ "in": "query",
+ "type": "string",
+ "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. Default is </em>.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "highlightPreTag",
+ "in": "query",
+ "type": "string",
+ "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "minimumCoverage",
+ "in": "query",
+ "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.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. 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.",
+ "x-ms-client-name": "OrderBy",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "queryType",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "simple",
+ "full"
+ ],
+ "x-ms-enum": {
+ "name": "QueryType",
+ "modelAsString": false
+ },
+ "x-nullable": false,
+ "description": "A value that specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "scoringParameter",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "multi",
+ "x-ms-client-name": "ScoringParameters",
+ "description": "The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. 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).",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "scoringProfile",
+ "in": "query",
+ "type": "string",
+ "description": "The name of a scoring profile to evaluate match scores for matching documents in order to sort the results.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "searchFields",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of field names to include in the full-text search.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "searchMode",
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "any",
+ "all"
+ ],
+ "x-ms-enum": {
+ "name": "SearchMode",
+ "modelAsString": false
+ },
+ "x-nullable": false,
+ "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.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "$skip",
+ "in": "query",
+ "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.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "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 used to issue another Search request for the next page of results.",
+ "x-ms-parameter-grouping": {
+ "name": "SearchParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "Response containing documents that match the search criteria.",
+ "schema": {
+ "$ref": "#/definitions/DocumentSearchResult"
+ }
+ }
+ }
+ }
+ },
+ "/docs/search.post.search": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "operationId": "Documents_SearchPost",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/Search-Documents"
+ },
+ "x-ms-examples": {
+ "SearchIndexSearchDocumentsPost": { "$ref": "./examples/SearchIndexSearchDocumentsPost.json" }
+ },
+ "description": "Searches for documents in the Azure Search index.",
+ "parameters": [
+ {
+ "name": "searchRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SearchRequest",
+ "description": "The Search request."
+ },
+ "description": "The definition of the Search request."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "Response containing documents that match the search criteria.",
+ "schema": {
+ "$ref": "#/definitions/DocumentSearchResult"
+ }
+ }
+ }
+ }
+ },
+ "/docs('{key}')": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "operationId": "Documents_Get",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/lookup-document"
+ },
+ "x-ms-examples": {
+ "SearchIndexGetDocument": { "$ref": "./examples/SearchIndexGetDocument.json" }
+ },
+ "description": "Retrieves a document from the Azure Search index.",
+ "parameters": [
+ {
+ "name": "key",
+ "in": "path",
+ "required": true,
+ "description": "The key of the document to retrieve.",
+ "type": "string"
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of field names to retrieve for the document; Any field not retrieved will be missing from the returned document.",
+ "x-ms-client-name": "SelectedFields"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Response containing the requested document.",
+ "schema": {
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "/docs/search.suggest": {
+ "get": {
+ "tags": [
+ "Documents"
+ ],
+ "operationId": "Documents_SuggestGet",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/suggestions"
+ },
+ "x-ms-examples": {
+ "SearchIndexSuggestDocumentsGet": { "$ref": "./examples/SearchIndexSuggestDocumentsGet.json" }
+ },
+ "description": "Suggests documents in the Azure Search index that match the given partial query text.",
+ "parameters": [
+ {
+ "name": "search",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The search text to use to suggest documents. Must be at least 1 character, and no more than 100 characters.",
+ "x-ms-client-name": "SearchText"
+ },
+ {
+ "name": "suggesterName",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The name of the suggester as specified in the suggesters collection that's part of the index definition."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "type": "string",
+ "description": "An OData expression that filters the documents considered for suggestions.",
+ "x-ms-parameter-grouping": {
+ "name": "SuggestParameters"
+ }
+ },
+ {
+ "name": "fuzzy",
+ "in": "query",
+ "type": "boolean",
+ "description": "A value indicating whether to use fuzzy matching for the suggestions query. Default is false. When set to true, the query will find terms 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 suggestions queries are slower and consume more resources.",
+ "x-ms-client-name": "UseFuzzyMatching",
+ "x-nullable": false,
+ "x-ms-parameter-grouping": {
+ "name": "SuggestParameters"
+ }
+ },
+ {
+ "name": "highlightPostTag",
+ "in": "query",
+ "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.",
+ "x-ms-parameter-grouping": {
+ "name": "SuggestParameters"
+ }
+ },
+ {
+ "name": "highlightPreTag",
+ "in": "query",
+ "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.",
+ "x-ms-parameter-grouping": {
+ "name": "SuggestParameters"
+ }
+ },
+ {
+ "name": "minimumCoverage",
+ "in": "query",
+ "type": "number",
+ "format": "double",
+ "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by a suggestions 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.",
+ "x-ms-parameter-grouping": {
+ "name": "SuggestParameters"
+ }
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-name": "OrderBy",
+ "description": "The list of OData $orderby expressions by which to sort the results. Each expression can be either a field name or a call to either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or 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.",
+ "x-ms-parameter-grouping": {
+ "name": "SuggestParameters"
+ }
+ },
+ {
+ "name": "searchFields",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of field names to search for the specified search text. Target fields must be included in the specified suggester.",
+ "x-ms-parameter-grouping": {
+ "name": "SuggestParameters"
+ }
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of fields to retrieve. If unspecified, only the key field will be included in the results.",
+ "x-ms-parameter-grouping": {
+ "name": "SuggestParameters"
+ }
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of suggestions to retrieve. The value must be a number between 1 and 100. The default is 5.",
+ "x-ms-parameter-grouping": {
+ "name": "SuggestParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "Response containing suggested documents that match the partial input.",
+ "schema": {
+ "$ref": "#/definitions/DocumentSuggestResult"
+ }
+ }
+ }
+ }
+ },
+ "/docs/search.post.suggest": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "operationId": "Documents_SuggestPost",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/suggestions"
+ },
+ "x-ms-examples": {
+ "SearchIndexSuggestDocumentsPost": { "$ref": "./examples/SearchIndexSuggestDocumentsPost.json" }
+ },
+ "description": "Suggests documents in the Azure Search index that match the given partial query text.",
+ "parameters": [
+ {
+ "name": "suggestRequest",
+ "in": "body",
+ "required": true,
+ "description": "The Suggest request.",
+ "schema": {
+ "$ref": "#/definitions/SuggestRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "Response containing suggested documents that match the partial input.",
+ "schema": {
+ "$ref": "#/definitions/DocumentSuggestResult"
+ }
+ }
+ }
+ }
+ },
+ "/docs/search.index": {
+ "post": {
+ "tags": [
+ "Documents"
+ ],
+ "operationId": "Documents_Index",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/addupdate-or-delete-documents"
+ },
+ "x-ms-examples": {
+ "SearchIndexIndexDocuments": { "$ref": "./examples/SearchIndexIndexDocuments.json" }
+ },
+ "description": "Sends a batch of document write actions to the Azure Search index.",
+ "parameters": [
+ {
+ "name": "batch",
+ "in": "body",
+ "description": "The batch of index actions.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IndexBatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestIdParameter"
+ }
+ ],
+ "x-ms-request-id": "request-id",
+ "responses": {
+ "200": {
+ "description": "Response containing the status of operations for all actions in the batch.",
+ "schema": {
+ "$ref": "#/definitions/DocumentIndexResult"
+ }
+ },
+ "207": {
+ "description": "Response containing the status of operations for all actions in the batch.",
+ "schema": {
+ "$ref": "#/definitions/DocumentIndexResult"
+ }
+ }
+ }
+ }
+ },
+ "/docs/search.autocomplete": {
"get": {
"tags": [
- "Autocomplete"
+ "Documents"
],
- "operationId": "DocumentsProxy_AutocompleteGet",
+ "operationId": "Documents_AutocompleteGet",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/autocomplete"
+ },
"x-ms-examples": {
- "SearchIndexGetAutocomplete": { "$ref": "./examples/SearchIndexGetAutocomplete.json" }
+ "SearchIndexAutocompleteDocumentsGet": { "$ref": "./examples/SearchIndexAutocompleteDocumentsGet.json" }
},
"description": "Autocompletes incomplete query terms based on input text and matching terms in the Azure Search index.",
"parameters": [
@@ -82,15 +635,15 @@
"$ref": "#/parameters/ApiVersionParameter"
},
{
- "name":"search",
+ "name": "search",
"in": "query",
"type": "string",
"required": true,
"description": "The incomplete term which should be auto-completed.",
- "x-ms-client-name": "searchText"
+ "x-ms-client-name": "SearchText"
},
{
- "name":"suggesterName",
+ "name": "suggesterName",
"in": "query",
"type": "string",
"required": true,
@@ -100,6 +653,7 @@
"name": "autocompleteMode",
"in": "query",
"type": "string",
+ "x-nullable": false,
"enum": [
"oneTerm",
"twoTerms",
@@ -109,67 +663,67 @@
"name": "AutocompleteMode",
"modelAsString": false
},
- "description": "Autocomplete mode.",
+ "description": "Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context while producing auto-completed terms.",
"x-ms-parameter-grouping": {
"name": "AutocompleteParameters"
}
},
{
- "name":"fuzzy",
+ "name": "fuzzy",
"in": "query",
"type": "boolean",
- "description": "A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will find terms 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 autocomplete queries are slower and consume more resources.",
+ "description": "A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will find terms 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 autocomplete queries are slower and consume more resources.",
"x-ms-client-name": "UseFuzzyMatching",
"x-ms-parameter-grouping": {
"name": "AutocompleteParameters"
}
},
{
- "name":"highlightPostTag",
+ "name": "highlightPostTag",
"in": "query",
"type": "string",
- "description": "A string tag that is appended to hit highlights. Must be set with HighlightPreTag. If omitted, hit highlighting is disabled.",
+ "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting is disabled.",
"x-ms-parameter-grouping": {
"name": "AutocompleteParameters"
}
},
{
- "name":"highlightPreTag",
+ "name": "highlightPreTag",
"in": "query",
"type": "string",
- "description": "A string tag that is prepended to hit highlights. Must be set with HighlightPostTag. If omitted, hit highlighting is disabled.",
+ "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting is disabled.",
"x-ms-parameter-grouping": {
"name": "AutocompleteParameters"
}
},
{
- "name":"minimumCoverage",
+ "name": "minimumCoverage",
"in": "query",
"type": "number",
"format": "double",
- "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by am autocomplete 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.",
+ "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by an autocomplete 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.",
"x-ms-parameter-grouping": {
"name": "AutocompleteParameters"
}
},
{
- "name":"searchFields",
+ "name": "searchFields",
"in": "query",
"type": "array",
"items": {
"type": "string"
},
- "description": "The comma-separated list of field names to consider when querying for auto-completed terms.",
+ "description": "The list of field names to consider when querying for auto-completed terms. Target fields must be included in the specified suggester.",
"x-ms-parameter-grouping": {
"name": "AutocompleteParameters"
}
},
{
- "name":"$top",
+ "name": "$top",
"in": "query",
"type": "integer",
"format": "int32",
- "description": "The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is to 5.",
+ "description": "The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is 5.",
"x-ms-parameter-grouping": {
"name": "AutocompleteParameters"
}
@@ -185,14 +739,19 @@
}
}
}
- },
+ }
+ },
+ "/docs/search.post.autocomplete": {
"post": {
"tags": [
- "Autocomplete"
+ "Documents"
],
- "operationId": "DocumentsProxy_AutocompletePost",
+ "operationId": "Documents_AutocompletePost",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/rest/api/searchservice/autocomplete"
+ },
"x-ms-examples": {
- "SearchIndexPostAutocomplete": { "$ref": "./examples/SearchIndexPostAutocomplete.json" }
+ "SearchIndexAutocompleteDocumentsPost": { "$ref": "./examples/SearchIndexAutocompleteDocumentsPost.json" }
},
"description": "Autocompletes incomplete query terms based on input text and matching terms in the Azure Search index.",
"parameters": [
@@ -203,12 +762,11 @@
"$ref": "#/parameters/ApiVersionParameter"
},
{
- "name": "AutocompleteRequest",
+ "name": "autocompleteRequest",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/AutocompleteRequest",
- "description": "The Autocomplete request."
+ "$ref": "#/definitions/AutocompleteRequest"
},
"description": "The definition of the Autocomplete request."
}
@@ -227,6 +785,162 @@
}
},
"definitions": {
+ "DocumentSuggestResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SuggestResult"
+ },
+ "readOnly": true,
+ "x-ms-client-name": "Results",
+ "description": "The sequence of results returned by the query."
+ },
+ "@search.coverage": {
+ "type": "number",
+ "readOnly": true,
+ "format": "double",
+ "x-ms-client-name": "Coverage",
+ "description": "A value indicating the percentage of the index that was included in the query, or null if minimumCoverage was not set in the request."
+ }
+ },
+ "description": "Response containing suggestion query results from an Azure Search index."
+ },
+ "SuggestResult": {
+ "properties": {
+ "@search.text": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The text of the suggestion result.",
+ "x-ms-client-name": "Text"
+ }
+ },
+ "additionalProperties": true,
+ "description": "A result containing a document found by a suggestion query, plus associated metadata."
+ },
+ "FacetResult": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The approximate count of documents falling within the bucket described by this facet."
+ }
+ },
+ "additionalProperties": true,
+ "description": "A single bucket of a facet query result. Reports the number of documents with a field value falling within a particular range or having a particular value or interval."
+ },
+ "DocumentSearchResult": {
+ "properties": {
+ "@odata.count": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "x-ms-client-name": "Count",
+ "description": "The total count of results found by the search operation, or null if the count was not requested. If present, the count may be greater than the number of results in this response. This can happen if you use the $top or $skip parameters, or if Azure Search can't return all the requested documents in a single Search response."
+ },
+ "@search.coverage": {
+ "type": "number",
+ "format": "double",
+ "readOnly": true,
+ "x-ms-client-name": "Coverage",
+ "description": "A value indicating the percentage of the index that was included in the query, or null if minimumCoverage was not specified in the request."
+ },
+ "@search.facets": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FacetResult"
+ }
+ },
+ "readOnly": true,
+ "x-ms-client-name": "Facets",
+ "description": "The facet query results for the search operation, organized as a collection of buckets for each faceted field; null if the query did not include any facet expressions."
+ },
+ "@search.nextPageParameters": {
+ "$ref": "#/definitions/SearchRequest",
+ "readOnly": true,
+ "x-ms-client-name": "NextPageParameters",
+ "description": "Continuation JSON payload returned when Azure Search can't return all the requested results in a single Search response. You can use this JSON along with @odata.nextLink to formulate another POST Search request to get the next part of the search response."
+ },
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SearchResult"
+ },
+ "readOnly": true,
+ "x-ms-client-name": "Results",
+ "description": "The sequence of results returned by the query."
+ },
+ "@odata.nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "x-ms-client-name": "NextLink",
+ "description": "Continuation URL returned when Azure Search can't return all the requested results in a single Search response. You can use this URL to formulate another GET or POST Search request to get the next part of the search response. Make sure to use the same verb (GET or POST) as the request that produced this response."
+ }
+ },
+ "description": "Response containing search results from an Azure Search index."
+ },
+ "SearchResult": {
+ "properties": {
+ "@search.score": {
+ "type": "number",
+ "format": "double",
+ "readOnly": true,
+ "x-ms-client-name": "Score",
+ "x-nullable": false,
+ "description": "The relevance score of the document compared to other documents returned by the query."
+ },
+ "@search.highlights": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "readOnly": true,
+ "x-ms-client-name": "Highlights",
+ "description": "Text fragments from the document that indicate the matching search terms, organized by each applicable field; null if hit highlighting was not enabled for the query."
+ }
+ },
+ "additionalProperties": true,
+ "description": "Contains a document found by a search query, plus associated metadata."
+ },
+ "IndexBatch": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IndexAction"
+ },
+ "description": "The actions in the batch.",
+ "x-ms-client-name": "Actions"
+ }
+ },
+ "required": ["value"],
+ "description": "Contains a batch of document write actions to send to the Azure Search index."
+ },
+ "IndexAction": {
+ "properties": {
+ "@search.action": {
+ "type": "string",
+ "enum": [
+ "upload",
+ "merge",
+ "mergeOrUpload",
+ "delete"
+ ],
+ "x-ms-enum": { "name": "IndexActionType" },
+ "x-ms-client-name": "ActionType",
+ "x-nullable": false,
+ "description": "The operation to perform on a document in an indexing batch."
+ }
+ },
+ "additionalProperties": true,
+ "description": "Represents an index action that operates on a document."
+ },
"IndexingResult": {
"properties": {
"key": {
@@ -270,24 +984,16 @@
},
"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" },
+ "x-ms-enum": {
+ "name": "SearchMode",
+ "modelAsString": false
+ },
"description": "Specifies whether any or all of the search terms must be matched in order to count the document as a match."
},
"QueryType": {
@@ -296,7 +1002,10 @@
"simple",
"full"
],
- "x-ms-enum": { "name": "QueryType" },
+ "x-ms-enum": {
+ "name": "QueryType",
+ "modelAsString": false
+ },
"description": "Specifies the syntax of the search query. The default is 'simple'. Use 'full' if your query uses the Lucene query syntax."
},
"AutocompleteMode": {
@@ -306,15 +1015,18 @@
"twoTerms",
"oneTermWithContext"
],
- "x-ms-enum": { "name": "AutocompleteMode",
- "modelAsString" : false },
+ "x-ms-enum": {
+ "name": "AutocompleteMode",
+ "modelAsString" : false
+ },
"description": "Specifies the mode for Autocomplete. The default is 'oneTerm'. Use 'twoTerms' to get shingles and 'oneTermWithContext' to use the current context in producing autocomplete terms."
},
- "SearchParametersPayload": {
+ "SearchRequest": {
"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."
+ "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.",
+ "x-ms-client-name": "IncludeTotalResultCount"
},
"facets": {
"externalDocs": {
@@ -335,15 +1047,16 @@
},
"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."
+ "description": "The comma-separated list of field names to use for hit highlights. Only searchable fields can be used for hit highlighting.",
+ "x-ms-client-name": "HighlightFields"
},
"highlightPostTag": {
"type": "string",
- "description": "A string tag that is appended to hit highlights. Must be set with HighlightPreTag. Default is </em>."
+ "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>."
+ "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. Default is <em>."
},
"minimumCoverage": {
"type": "number",
@@ -353,29 +1066,27 @@
"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."
+ "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 either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or 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."
+ "description": "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)."
+ "description": "The list of parameter values to be used in scoring functions (for example, referencePointParameter) using the format name-values. 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."
+ "description": "A full-text search query expression; Use \"*\" or omit this parameter to match all documents.",
+ "x-ms-client-name": "SearchText"
},
"searchFields": {
"type": "string",
@@ -392,39 +1103,37 @@
"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."
+ "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": "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 used to issue another Search request for the next page of results."
}
},
"description": "Parameters for filtering, sorting, faceting, paging, and other search query behaviors."
},
- "SuggestParametersPayload": {
+ "SuggestRequest": {
"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."
+ "description": "An OData expression that filters the documents considered for suggestions."
},
"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."
+ "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.",
+ "x-ms-client-name": "UseFuzzyMatching"
},
"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."
+ "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."
+ "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",
@@ -434,19 +1143,20 @@
"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."
+ "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 either the geo.distance() or the search.score() functions. Each expression can be followed by asc to indicate ascending, or 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."
+ "description": "The search text to use to suggest documents. Must be at least 1 character, and no more than 100 characters.",
+ "x-ms-client-name": "SearchText"
},
"searchFields": {
"type": "string",
- "description": "The comma-separated list of field names to consider when querying for suggestions."
+ "description": "The list of comma-separated field names to search for the specified search text. Target fields must be included in the specified suggester."
},
"select": {
"type": "string",
- "description": "The comma-separated list of fields to retrieve. If unspecified, all fields marked as retrievable in the schema are included."
+ "description": "The comma-separated list of fields to retrieve. If unspecified, only the key field will be included in the results."
},
"suggesterName": {
"type": "string",
@@ -455,7 +1165,7 @@
"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": "The number of suggestions to retrieve. This must be a value between 1 and 100. The default is 5."
}
},
"description": "Parameters for filtering, sorting, fuzzy matching, and other suggestions query behaviors."
@@ -465,7 +1175,7 @@
"search": {
"type": "string",
"description": "The search text on which to base autocomplete results.",
- "x-ms-client-name": "searchText"
+ "x-ms-client-name": "SearchText"
},
"autocompleteMode": {
"$ref": "#/definitions/AutocompleteMode",
@@ -473,25 +1183,25 @@
},
"fuzzy": {
"type": "boolean",
- "description": "A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will autocomplete terms 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 autocomplete queries are slower and consume more resources.",
+ "description": "A value indicating whether to use fuzzy matching for the autocomplete query. Default is false. When set to true, the query will autocomplete terms 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 autocomplete queries are slower and consume more resources.",
"x-ms-client-name": "UseFuzzyMatching"
},
"highlightPostTag": {
"type": "string",
- "description": "A string tag that is appended to hit highlights. Must be set with HighlightPreTag. If omitted, hit highlighting is disabled."
+ "description": "A string tag that is appended to hit highlights. Must be set with highlightPreTag. If omitted, hit highlighting is disabled."
},
"highlightPreTag": {
"type": "string",
- "description": "A string tag that is prepended to hit highlights. Must be set with HighlightPostTag. If omitted, hit highlighting is disabled."
+ "description": "A string tag that is prepended to hit highlights. Must be set with highlightPostTag. If omitted, hit highlighting 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 am autocomplete 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."
+ "description": "A number between 0 and 100 indicating the percentage of the index that must be covered by an autocomplete 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."
},
"searchFields": {
"type": "string",
- "description": "The comma-separated list of field names to consider when querying for auto-completed terms."
+ "description": "The comma-separated list of field names to consider when querying for auto-completed terms. Target fields must be included in the specified suggester."
},
"suggesterName": {
"type": "string",
@@ -500,7 +1210,7 @@
"top": {
"type": "integer",
"format": "int32",
- "description": "The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is to 5."
+ "description": "The number of auto-completed terms to retrieve. This must be a value between 1 and 100. The default is 5."
}
},
"description": "Parameters for fuzzy matching, and other autocomplete query behaviors."
@@ -523,10 +1233,12 @@
"properties": {
"text": {
"type": "string",
+ "readOnly": true,
"description": "The completed term."
},
"queryPlusText": {
"type": "string",
+ "readOnly": true,
"description": "The query along with the completed term."
}
},
diff --git a/specification/search/data-plane/Microsoft.Azure.Search.Data/readme.md b/specification/search/data-plane/Microsoft.Azure.Search.Data/readme.md
index 9c98b43f7ef8..8fb753afb116 100644
--- a/specification/search/data-plane/Microsoft.Azure.Search.Data/readme.md
+++ b/specification/search/data-plane/Microsoft.Azure.Search.Data/readme.md
@@ -101,3 +101,176 @@ csharp:
clear-output-folder: true
output-folder: $(csharp-sdks-folder)/Search/DataPlane/Microsoft.Azure.Search.Data/Generated
```
+
+### Tweak generated code
+
+Use the below directives sparingly. Every modification we make in here, we potentially have to replicate for every target language.
+
+``` yaml $(csharp)
+directive:
+ # TODO: Simplify all the below regexes once we gain the ability to target them at specific files.
+
+ # Rename the IDocumentsOperations interface and implementation, then make the interface internal so we can version it freely.
+ # This requires these changes:
+ # 1. Globally rename the interface and implementation class, along with comments and constructors
+ # 2. Make the interface itself internal
+ # 3. Make the SearchIndexClient.Documents property internal and rename it to DocumentsProxy
+ # 4. Rename the type of the ISearchIndexClient.Documents property back to IDocumentsOperations, effectively removing the
+ # generated property from the interface (this reverses step 1 above just for this case)
+ #
+ # The ISearchIndexClient.Documents property is of type IDocumentsOperations, which is hand-written and delegates to DocumentsProxy.
+ # This allows us to do two things:
+ # 1. Abstract away the detail of whether GET or POST is used for read operations (Search, Suggest, etc.)
+ # 2. Add methods with type parameters and custom serialization to make our SDK easier to use in strongly-typed scenarios
+ # (i.e. -- where the customer is using a class to represent their model because its schema is known at design-time)
+ - from: source-file-csharp
+ where: $
+ transform: >-
+ return $.
+ replace( /DocumentsOperations/g, "DocumentsProxyOperations" ).
+ replace( /public (partial interface IDocumentsProxyOperations)/g, "internal $1" ).
+ replace( /public virtual (IDocumentsProxyOperations) Documents ({ get;)/g, "internal $1 DocumentsProxy $2" ).
+ replace( /Documents = new DocumentsProxyOperations\(this\);/g, "DocumentsProxy = new DocumentsProxyOperations\(this\);" ).
+ replace( /(Gets the) IDocumentsProxyOperations(.\s*\/\/\/ <\/summary>\s*)IDocumentsProxyOperations (Documents { get; })/g, "$1 IDocumentsOperations$2IDocumentsOperations $3" )
+####
+ # Adds extra JsonSerializerSettings parameters to all operation methods. This enables the SDK to delegate serialization/de-serialization to the custom serializer on a per-call basis.
+ - from: source-file-csharp
+ where: $
+ transform: >-
+ return $.
+ replace( /(Async\(.*, CancellationToken cancellationToken = default\(CancellationToken\))/g, "$1, Newtonsoft.Json.JsonSerializerSettings requestSerializerSettings = null, Newtonsoft.Json.JsonSerializerSettings responseDeserializerSettings = null" ).
+ replace( /(DeserializeObject<.+>\(.+), Client\.DeserializationSettings/g, "$1, responseDeserializerSettings ?? Client.DeserializationSettings" ).
+ replace( /(SerializeObject\(.+), Client\.SerializationSettings/g , "$1, requestSerializerSettings ?? Client.SerializationSettings" )
+####
+ # Make GetWithHttpMessagesAsync generic so we can tell the deserializer what type to instantiate.
+ # ASSUMPTION: Only GetWithHttpMessagesAsync makes a call to DeserializeObject